IntelliJ打开文件过多错误

7
在Ubuntu 14.04 LTS上使用IntelliJ IDEA 13.1.5时,我偶尔会在大型项目中看到一个错误提示,说“打开的文件太多”。有趣的是,这个问题一直存在,会完全冻结IDE。
我尝试了以下方法来解决它。
1) 修改我的/etc/sysctl.conf文件,在其中添加如下所示的行,参考此处。代码运行时出现的错误变得不那么频繁了:
fs.inotify.max_user_watches = 524288    
fs.file-max = 380180 

2) 将IntelliJ进程的ulimit -n设置提高到64k。我并没有注意到性能上的任何差异,但是我提到的文章声称这将有所帮助。

3) 将这个添加到我的idea64.vmoptions文件中(有助于索引速度,但不会解决这个问题)

-Xms128m
-Xmx8192m
-XX:MaxPermSize=1024m

有没有其他人遇到过这个错误?你们有什么建议可以帮我解决吗?

我考虑过向IntelliJ支持团队寻求帮助,但我发现在得到有用的答案之前需要来回多次沟通。如果社区中有人能提供建议,我将不胜感激。


我发现IntelliJ社区和支持更加专注和响应。再试一次。在使用该产品的10年中,我从未见过那个错误。 - duffymo
我也会再试一下,这不会有什么损失。只是好奇是否还有其他人有别的想法。 - Jason D
1
如果您正在使用 Mac 并且遇到相同的错误,以下是如何增加打开文件限制的方法 https://superuser.com/questions/433746/is-there-a-fix-for-the-too-many-open-files-in-system-error-on-os-x-10-7-1/1171028#1171028 或查找罪魁祸首 https://superuser.com/a/1180084/204758(相同的问题但不同的答案) - rvazquezglez
2个回答

8

我与IntelliJ支持人员交流,他们建议我提到的第2部分没有生效。我尝试了以下步骤:

1)sudo vi /etc/security/limits.conf并添加这些行(也要备份):

*       soft    nofile  380180
*       hard    nofile  380180

2) 在终端输入sudo vi /etc/pam.d/common-session并添加以下行(记得备份):

session required pam_limits.so

3) 在终端输入 sudo vi /etc/pam.d/common-session-noninteractive 命令后打开文件,在最后添加以下行(记得备份文件):

session required pam_limits.so

4) 重新启动您的机器

5) 运行此命令以确认生效,您应该会看到这个结果

~$ ulimit -n
380180

之后,我重新打开了我的大型项目,此后就再也没有看到“打开太多文件”的提示信息了。


0

背景 -> 在我的情况下,问题是在我的一个项目中,Maven无法识别几个包。 所以,如果我打开一个新项目,它会显示错误信息"too many open files error intellij error=24"。

解决方案(对我有效) -> 重新加载 Maven 项目


1
你的回答可以通过提供更多的支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便其他人可以确认你的回答是否正确。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接