tail: inotify cannot be used, reverting to polling:Too many open files报错解决办法
时间: 2024-04-29 13:02:35 浏览: 199
这个报错是由于打开的文件数目过多,导致无法使用inotify进行监控,系统只能退回到轮询方式进行监控。解决方法如下:
1. 修改系统文件打开数目限制
可以通过修改/etc/security/limits.conf文件来设置文件打开数目限制,找到如下两行:
```
* soft nofile 1024
* hard nofile 65535
```
将其改为:
```
* soft nofile 65535
* hard nofile 65535
```
2. 修改系统inotify可用数目限制
可以通过修改/proc/sys/fs/inotify/max_user_watches文件来设置inotify可用数目限制,执行如下命令:
```
echo 65535 > /proc/sys/fs/inotify/max_user_watches
```
3. 修改应用程序代码
如果以上两种方法无法解决问题,可以尝试修改应用程序代码,减少打开文件数目或者使用更高效的文件监控方式。
相关问题
inotify resources exhausted tail: inotify cannot be used, reverting to polling
这个问题发生在使用命令行工具`tail`时,出现了"inotify resources exhausted"的错误。这个错误是由于系统中的inotify资源耗尽引起的。inotify是Linux内核中的一个功能,用于监视文件或目录的变化。
当使用`tail`命令时,它会默认使用inotify来监视文件的变化。但是,系统对inotify资源有限制,当达到资源限制时,就会出现"inotify resources exhausted"的错误。
解决这个问题的方法是增加系统中inotify资源的限制。可以通过修改系统的配置文件来增加限制。具体的步骤如下:
1. 打开终端并以管理员身份登录到系统。
2. 打开`/etc/sysctl.conf`文件进行编辑。
3. 在文件的末尾添加以下行:
```
fs.inotify.max_user_watches = 524288
```
这将增加inotify资源的限制为524288。
4. 保存并关闭文件。
5. 运行以下命令使更改生效:
```
sudo sysctl -p
```
6. 尝试重新运行`tail`命令,看看问题是否解决了。
如果问题仍然存在,可能需要进一步增加inotify资源的限制。可以重复上述步骤,将限制值增加到更大的数值。但是,请注意,增加限制可能会对系统性能产生一定影响。
阅读全文