尾巴:inotify不能使用,回到轮询:打开的文件太多

tail: inotify cannot be used, reverting to polling: Too many open files 

我在Ubuntu(AWS ec2)上运行apache和tomcat服务器。 每当我尝试尾巴tomcat的catalina.out我得到太多打开的文件。 但是我可以使用vi查看它。

在互联网上search后,我尝试了下面的命令:

 lsof | awk '{ print $2; }' | sort -rn | uniq -c | sort -rn | head 

结果如下

  17 5650 17 5178 13 5972 10 5976 10 5974 9 5977 9 5975 9 5973 8 5978 4 9 

当我刚刚运行lsof进程ID时:5650是bash,5178又是bash,其他的是sshd,top和apache2。

为什么bash,top,sshd打开的文件数目庞大? 我怎样才能closures这些文件? 杀死这些进程会有什么好处吗? 这个数字会自己减less还是我必须做任何事情? 现在一切都按预期工作,除了尾巴-f给我太多打开的文件。

我使用顶级和SSH服务器很多。 但为什么他们不释放文件? 或者我连接错误的点。

可能你用完了手表。 默认情况下,它是一个荒谬的低8192。

检查您的当前值:

 sysctl fs.inotify.max_user_watches 

然后通过编辑/etc/sysctl.conf或其中包含的文件将其更改为更合理,并添加:

 fs.inotify.max_user_watches = 524288 

(或任何值),然后运行sysctl -p使其生效。

你可以尝试增加fs.inotify.max_user_instances:

 sysctl fs.inotify.max_user_instances=512 

也许这是一个Ubuntu内核错误,请从launchpad bugtracker中检查。

如果需要升级你的内核!