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中检查。
如果需要升级你的内核!