前几天我使用 mysqlslap 对数据库进行基准测试时遇到了“打开文件‘/tmp/somefile’时资源不足(错误代码:24)”错误。
我在 google 上查了几遍,找到了一个解决问题的方法,就是修改:“/etc/security/limits.conf”文件,添加:“mysql soft nofile 24000”和“mysql hard nofile 32000”两行。(REF.:http://www.smilecouple.org/2011/03/01/fix-out-of-resource-problem-with-mysqlhttp://www.smilecouple.org/2011/03/01/fix-out-of-resource-problem-with-mysql)
我的问题:这个解决方案有什么缺点?我认为这与安全有关,我感觉它在哪里,但也许有人在这方面有一些实际经验?
答案1
如果您的机器内存较小,并且打开了大量文件句柄,则主要缺点是内存消耗。每个文件句柄都会消耗少量内存。
如今,我不再为此担心。我只会监控并根据需要做出相应调整。
如果您继续用尽文件句柄,则说明发生了其他问题,而这些问题可能无法通过目前提供的信息得到解决。
运行lsof -u mysql | wc -l
,其中“mysql”是您的 mysqld 系统用户。