问题描述:
在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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐