当我将open_files_limit = 16k设置为: /etc/security/limits.conf s.conf和/etc/mysql/my.cnf时
ulimit -n
16344但在mysql中:
show variables like 'open_files_limit';
open_files_limit: 4096 那么mysql是如何计算open_files_limit的。我该去别的地方找吗?
发布于 2010-09-27 11:12:58
您是否将其指定为open_files_limit或open-files-limit在my.cnf中?在配置文件中,应该是open-files-limit。
发布于 2010-10-28 06:54:21
选项1:您可以尝试在MySQL的pid上运行lsof,通过管道传输到wc -l。
备选案文2:ll /proc/<mysql-pid>/fs/
这些文件将给出打开文件的列表(包括套接字等;在Unix/Linux中,所有内容都是一个文件)。
可以在mysql-client上使用show global varaibles like '%files%'和set global variable open_files_limit=<some-larger-number>检查打开的文件限制。
注意这一点,因为来自ulimit -n的数字是所有进程的shell的总数,您不想把它放得太高。
如果您看到这个数字在缓慢增长,您可能需要检查您的代码:有悬空的引用。
发布于 2012-02-16 19:28:59
检查用户mysql的限制:
limits -e -U mysql
ulimit -a -显示用户的限制
如果限制正确&您使用Percona,那么需要启动脚本中的激活限制。
例如,在FreeBSD:/usr/local/etc/rc.d/mysql-server查找字符串:${mysql_limits="NO"}和替换NO -> YES中
PS。2 2Janne Pikkarainen in my config my.cnf:open_files_limit = 8192
https://serverfault.com/questions/184915
复制相似问题