java - IntelliJ 太多文件打开错误

标签 java performance ubuntu intellij-idea ide

在 Ubuntu 14.04 LTS 上的 IntelliJ IDEA 13.1.5 中,我看到大型项目中偶尔出现错误,提示“打开的文件太多”。有趣的是,这不会消失并完全卡住 IDE。 我已经尝试了以下方法来修复它。

1) 修改我的/etc/sysctl.conf 使其具有本文中所示的这一行 here .减少错误的发生频率:

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 支持人员进行了交谈。他们建议我提到的第 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

在那之后我重新打开了我的大项目,从那以后我再也没有看到“打开的文件太多”消息。

关于java - IntelliJ 太多文件打开错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26325851/

相关文章:

java - 我是否正确实现了 ActiveMQ?实现事务处理 session 并重试

gcc - 将 newlib 移植到交叉编译器中

ruby-on-rails - 在 Ubuntu for Rails Web Application 上配置 Nginx 和 Unicorn 是否有明确的分步教程

ubuntu - 默认 SSL 证书目录

java - 将 android 设备连接到在我的 PC 上运行的 Tomcat 服务器

java - Android - 不同屏幕尺寸的 animate() 问题

java - 如何使用java将值插入sql server?

iis-7 - 第一次调用时 WCF 性能变慢

Java 程序特化 - 它是什么?我不明白

javascript - 编写自定义 .on()/.bind() JavaScript 的最高效方式