运行程序时提示 Failed to allocate directory watch: Too many open files, 这个问题可能是inotify數量限制了, 或者文件描述符限制了
inotify限制的情况
增加文件 vim /etc/sysctl.d/60-fs-inotify.conf, 写入下列内容
fs.inotify.max_queued_events = 32768
fs.inotify.max_user_instances = 2048
fs.inotify.max_user_watches = 524288通过 sysctl --system 生效, 或者重启系统
fs.inotify.max_queued_events = 32768: inotify 事件队列的最大长度fs.inotify.max_user_instances = 2048: 每个用户可创建的 inotify 实例数fs.inotify.max_user_watches = 524288: 每个用户可监视的文件/目录数量
注意示例的文件位置是debian13的推荐位置,如果使用debian12则可能需要修/etc/sysctl.conf
文件描述符限制的情况
编辑文件 /etc/security/limits.conf, 在文件末尾增加下列内容
* soft nofile 65536
* hard nofile 65536重新登陆或重启生效