温馨提示×

怎样查看debian inotify

小樊
36
2026-10-19 22:17:55
栏目: 智能运维

在 Debian 系统上,inotify 相关的内容通常可以从以下几个方面查看和排查:


一、查看 inotify 内核参数(限制)

inotify 受内核参数限制,常用如下:

cat /proc/sys/fs/inotify/max_user_watches
cat /proc/sys/fs/inotify/max_user_instances
cat /proc/sys/fs/inotify/max_queued_events

说明:

  • max_user_watches:单个用户可监视的文件/目录总数
  • max_user_instances:单个用户可创建的 inotify 实例数
  • max_queued_events:事件队列长度

二、临时 / 永久修改 inotify 限制

临时修改(重启失效)

sudo sysctl fs.inotify.max_user_watches=524288

永久修改

编辑:

sudo nano /etc/sysctl.conf

添加:

fs.inotify.max_user_watches=524288

生效:

sudo sysctl -p

三、查看当前 inotify 使用情况

1. 查看进程使用的 inotify 实例

ls -l /proc/*/fd | grep inotify

或:

find /proc/*/fd -type l -name 'inotify*' 2>/dev/null

2. 查看某个进程用了多少 inotify watch

cat /proc/<PID>/status | grep Inotify

示例:

cat /proc/1234/status | grep Inotify

输出示例:

Inotify watches: 1024
Inotify instances: 2

四、实时查看 inotify 事件

1. 使用 inotifywait(推荐)

安装:

sudo apt install inotify-tools

监听目录:

inotifywait -m /path/to/dir

常用参数:

inotifywait -mrq /var/log
  • -m 持续监听
  • -r 递归
  • -q 安静模式

五、调试 / 排查 inotify 问题

常见错误

Too many open files
ENOSPC: System limit for number of file watchers reached

解决方法:

  • 增大 max_user_watches
  • 检查是否有程序(如 IDE、Docker、Node)大量占用

查看谁占用了 inotify

for pid in $(ls /proc | grep '^[0-9]'); do
  n=$(ls /proc/$pid/fd 2>/dev/null | wc -l)
  echo "$pid: $n"
done | sort -k2 -n

如果你是想:

  • 查看 inotify 报错
  • 定位哪个程序占用过多
  • Docker / VSCode / Node 下的问题

可以告诉我你的具体场景,我可以给你更针对性的命令。

0 踩