关于max_open_files的问题已经被问了上千次。然而,大多数情况下建议将限制设置在65535左右。然而,我们的警告是mysql试图打开超过640 k的文件。我们把限额提高到768 K。但是,文档表明,1024x1024 (1048576)是linux的限制。
基本上,有没有办法找出为什么我们有这么多打开的文件?我们只有一个中型db (小于300 db)和6-8个非常小的dbs。如果1024x1024是真正的极限,在6个月或更短的时间内,我们似乎可以超过这一点。然后呢?分贝会爆炸吗?
发布于 2020-09-06 02:24:59
MySQL也为其他事情打开一个“文件”,但打开文件的主要原因是连接。
MySQL和几乎所有的数据库都是这样的,每个连接都算作一个打开的文件。
您可以检查以下连接的数量:
SHOW STATUS LIKE '%Threads_connected%';您可能需要调整max_connections参数,并从应用程序的角度寻找持久的连接和池。
如果您的数据库遇到麻烦、堆置的连接或某种"dos",您可以使用以下方法检查正在执行的进程:
SHOW FULL PROCESSLIST;最后用以下方法杀死一些奇怪的东西:
KILL <pid>; -- the id from the command abovehttps://stackoverflow.com/questions/63760092
复制相似问题