Ubuntu 8.04 上打开文件过多错误

2023-11-27

mysqldump: Couldn't execute 'show fields from `tablename`': Out of resources when opening file './databasename/tablename#P#p125.MYD' (Errcode: 24) (23)

在检查 shell 上的错误 24 时,它说

>>perror 24

OS error code  24:  Too many open files

我该如何解决这个问题?


首先,要确定某些用户或组限制,您必须执行以下操作:

root@ubuntu:~# sudo -u mysql bash
mysql@ubuntu:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 71680
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 71680
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
mysql@ubuntu:~$

重要的一行是:

打开文件 (-n) 1024

正如您所看到的,您的操作系统供应商提供的这个版本具有基本的 Linux 配置 - 每个进程 1024 个文件。

这对于繁忙的 MySQL 安装来说显然是不够的。

现在,要解决此问题,您必须修改以下文件:

/etc/security/limits.conf

mysql             soft    nofile           24000
mysql             hard    nofile           32000

某些版本的 Linux 还需要额外的配置才能使其坚持守护进程而不是登录会话。例如,在 Ubuntu 10.04 中,您还需要通过添加以下行来设置 pam 会话限制/etc/pam.d/common-session:

session required pam_limits.so
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu 8.04 上打开文件过多错误 的相关文章

随机推荐