"tail: inotify resources exhausted" 这个错误表明系统的 inotify
资源已经耗尽。inotify
是 Linux 内核的一项功能,用于监视文件系统中的事件,例如文件的创建、删除、修改等。tail -f
命令使用 inotify
来实时监视文件的变化,如果系统中的 inotify
资源耗尽,tail
会退回到使用轮询(polling)模式,性能较差。
解决方法
1. 增加 inotify
资源限制
你可以通过增加系统允许的 inotify
资源数量来解决这个问题。
首先,查看当前的 inotify
资源限制:
cat /proc/sys/fs/inotify/max_user_watches
cat /proc/sys/fs/inotify/max_user_instances
然后可以通过以下方式增加限制:
编辑 /etc/sysctl.conf
文件:
sudo nano /etc/sysctl.conf
在文件末尾添加以下行,增加 inotify
资源限制:
fs.inotify.max_user_watches=524288
fs.inotify.max_user_instances=1024
保存并退出文件后,应用更改:
sudo sysctl -p
2. 查找并减少 inotify
使用
你可以使用 lsof
或 inotifywatch
来找出哪些进程正在大量使用 inotify
资源:
sudo lsof | grep inotify
如果发现某些进程在频繁监视大量文件或目录,考虑减少这些监视操作或重新配置这些进程。
3. 清理不必要的进程
如果有大量不必要的进程正在使用 inotify
,你可以考虑终止这些进程来释放 inotify
资源:
sudo kill -9 <pid>
请注意,终止进程前要确保它们不是关键进程。
4. 检查系统日志
有时,特定服务或程序可能引发大量 inotify
事件,检查系统日志可以帮助识别这些服务:
journalctl -xe
总结
"tail: inotify resources exhausted" 表示系统的 inotify
资源已耗尽,可能导致文件监视功能失效。通过增加 inotify
资源限制、查找并减少 inotify
的使用、终止不必要的进程,以及检查系统日志,可以有效解决这个问题。
我查出来是因为minio文件同步监控导致的 mc mirror -w --overwrite --remove /opt/backups/ minio2/database 改成定时执行的就行了去掉-w mc mirror --overwrite --remove /opt/backups/ minio2/database
标签:inotify,exhausted,sudo,--,tail,进程,资源 From: https://blog.51cto.com/qianxunman/11877706