最大打开文件数(FreeBSD 7.0 上的 MySQL 5.0)

最大打开文件数(FreeBSD 7.0 上的 MySQL 5.0)

我收到来自 MySQL 的“无法打开文件:'./databasename/tablename.frm'(errno:24)”错误,但据我所知,我设置的必要限制远高于我需要的。

除了 sysctls 和 MySQL 变量之外kern.maxfileskern.maxfilesperproc还有open_files_limit其他限制会产生并导致这种情况吗?

$ mysql -u root -p -e 'SHOW STATUS' | grep '^Open'
Enter password: 
Open_files  356
Open_streams    0
Open_tables 245
Opened_tables   0

$ mysql -u root -p -e 'SHOW GLOBAL VARIABLES' | grep 'open_files_limit'
Enter password: 
open_files_limit    18000

$ sysctl -a | grep kern.maxfiles
kern.maxfiles: 20000
kern.maxfilesperproc: 18000

$ limits -n -U mysql
Resource limits for class default:
  openfiles        infinity

答案1

问题看起来更像是一个错误,而不是遇到了限制。
唯一的建议是更新到最新的稳定 MySQL 版本,甚至更新到 FreeBSD 7.2(它们提高了 FreeBSD 7.2 amd64 上的几乎所有限制)

答案2

您的设置是什么max_connections?对于每个连接,都要打开一个(或多个)文件。尽量减少。此外,table_cache设置会影响打开文件的数量。请参阅mysql 手册以获得更多帮助。

CU,阿内普

相关内容