监控文件数量达到上限
启动开发服务器时遇到下面这个错误:
Error: ENOSPC: System limit for number of file watchers reached.
大致意思是:当前进程监控文件的数量达到了允许的上限。
解决办法(for Debian):增加可监控上限,在/etc/sysctl.conf
文件中添加一行
fs.inotify.max_user_watches=524288
刷新内核参数:
sysctl -p
重启开发服务器即可。
sysctl
用于在系统运行时动态修改内核参数,这些参数保存在/proc/sys
目录下,例如上面的fs.inotify.max_user_watches
参数保存在/proc/sys/fs/inotify/max_user_watches
文件中。
修改/etc/sysctl.conf
文件会永久修改内核参数,如果想要临时修改参数,可以这么做:
sysctl -w fs.inotify.max_user_watches=524288
修改/etc/sysctl.conf
文件后需要手动刷新参数:
sysctl -p
-p
参数指定要刷新的文件,默认为/etc/sysctl.conf
。
Inotify
用来监控文件系统中文件一系列属性发生的变化,例如文件的增删查改和权限变化等。
有下面这三个参数文件则说明系统支持 Inotify:
# ll /proc/sys/fs/inotify/
-rw-r--r-- 1 root root 0 6月 27 18:50 max_queued_events
-rw-r--r-- 1 root root 0 6月 27 18:50 max_user_instances
-rw-r--r-- 1 root root 0 6月 27 18:48 max_user_watches
评论区