Ubuntu 上提升 inotify 性能的可操作方案
一 内核参数与系统资源调优
cat /proc/sys/fs/inotify/max_user_watches、max_user_instances、max_queued_eventslsof -p <PID> | grep inotifysudo sysctl -w fs.inotify.max_user_watches=524288/etc/sysctl.conf 或 /etc/sysctl.d/60-inotify.conf 并 sudo sysctl -p二 监控范围与事件策略优化
IN_CREATE | IN_MODIFY | IN_DELETE | IN_MOVED_TO/IN_MOVED_FROM),避免处理无关噪声事件。三 消费与程序架构优化
sysdig -c spy_users inotifyperf record -g -a -e syscalls:sys_enter_inotify_add_watch && perf reportlsof -p <PID> | grep inotify。四 常见症状与对应措施
max_user_watches(如至524288),并精简监控范围;必要时同时评估 max_queued_events 与消费能力。max_queued_events,并在应用侧实现合并/去抖与批量处理。max_user_instances,或复用 inotify 实例、减少进程/线程数量。五 实用命令清单
cat /proc/sys/fs/inotify/max_user_watchessudo sysctl -w fs.inotify.max_user_watches=524288echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.confsudo sysctl -p/etc/sysctl.d/60-inotify.conf 并 sudo sysctl -plsof -p <PID> | grep inotifysysdig -c spy_users inotifyperf record -g -a -e syscalls:sys_enter_inotify_add_watch && perf report