我的Java Tomcat应用程序(Bitbucket)托管在Ubuntu 16.04上,并且当打开文件数超过限制时,我将收到错误消息。
int x = ffunc();
if ( !x ) { callproc() }
我最初通过在java.io.IOException: Too many open file
文件中添加以下行来解决了该问题
/etc/security/limits.conf
但是问题再次出现两次:
打开文件是否有上限?
如何每隔1分钟监控打开的文件并记录下来以绘制图形?
如何缓解打开文件限制问题,避免出现上述错误?
答案 0 :(得分:0)
1)Linux确实有一个上限,通常这是足够的(如果您要这样)。不过,对于bitbucket,您可以设置:
atlbitbucket hard nofile unlimited
atlbitbucket soft nofile unlimited
2)使用watch
命令每1分钟对打开的文件进行计数:
watch -n 60 ls -l /proc/$$/fd | wc -l
其中$$是位桶处理的PID。它不是图形,但是您将清楚地知道发生了什么。
3)参见1)