问题描述:
在Ubuntu18.04中执行sudo service mysql restart命令后,出现Failed to allocate directory watch: Too many open files.
#问题描述:
queena@queena-Lenovo:~$ sudo service mysql restart
Failed to allocate directory watch: Too many open files
解决方法:
queena@queena-Lenovo:~$ cd /etc
queena@queena-Lenovo:/etc$ vim sysctl.conf
#如果是只读文件的话,需要更改权限,如下:
queena@queena-Lenovo:/etc$ sudo chmod 777 sysctl.conf
#进入sysctl.conf文件后,写入:
fs.inotify.max_user_instances=512
fs.inotify.max_user_watches=262144
#保存并退出
#最后需要使该文件生效,如下:
queena@queena-Lenovo:/etc$ sysctl -p
分析:
可能是inotify数量限制了,修改后服务即可正常使用。
#查看inotify参数
queena@queena-Lenovo:/etc$ sysctl fs.inotify
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 512
fs.inotify.max_user_watches = 262144
至此,问题得以解决!
注:如果修改一次后,过一段时间仍出现同样的报错,可以将适当将值变大,如fs.inotify.max_user_instances=1024