tail: inotify resources exhausted的解决办法

在使用tail命令查看文件内容的时候,发现一直提示这个错误。

tail: inotify resources exhausted 
tail: inotify cannot be used, reverting to polling

大概的意思是: tail : inotify 资源耗尽 tail: inotify 无法使用,改为使用轮询模式.

查看/etc/sysctl.conf 发现文件中存在“fs.inotify.max_user_instances = 1024000” 这个配置,怎么还是报错那。后来发现还需要配置一个max_user_watches的参数。

在root用户权限下,可通过下面的脚本可以解决这个问题。

#!/bin/bash

sysctl_conf="/etc/sysctl.conf"

if ! grep -q "fs.inotify.max_user_watches" $sysctl_conf; then
  echo "fs.inotify.max_user_watches=1048576" >> $sysctl_conf
fi
sysctl -p

解释:

  1. 定义系统配置文件路径sysctl_conf
  2. 使用grep查找该配置项,grep -q表示quiet模式,不输出结果
  3. if条件判断,如果grep失败,表示没有找到该配置项
  4. 则使用echo追加写入该配置项到配置文件末尾
    这样就可以在没有该配置的情况下,自动添加进配置文件。
    grep、echo等文本处理工具结合if条件判断,可以实现配置文件的查询和修改。
  5. sysctl -p 加载配置信息。以便修改生效。
end
  • 作者:kali(作者介绍)
  • 更新时间:2022-07-20 18:09
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 转载声明:转载站点文章,请附上原文链接
  • 翻译声明:翻译文章会不严谨,请务必附上原文链接
  • 扫描阅读:扫描二维码,手机阅读该文章