linux 打开文件数 too many open files 解决方法
Posted yjbjingcha
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 打开文件数 too many open files 解决方法相关的知识,希望对你有一定的参考价值。
linux 打开文件数 too many open files 解决方法
too many open files
出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值。
查看每一个用户最大同意打开文件数量
ulimit -a
[email protected]:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 20 file size (blocks, -f) unlimited pending signals (-i) 16382 max locked memory (kbytes, -l) 64 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) unlimited virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
当中 open files (-n) 1024 表示每一个用户最大同意打开的文件数量是1024
查看当前系统打开的文件数量
lsof | wc -l watch "lsof | wc -l"
查看某一进程的打开文件数量
lsof -p pid | wc -l lsof -p 1234 | wc -l
设置open files数值方法
ulimit -n 2048
[email protected]:~$ ulimit -n 2048 [email protected]:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 20 file size (blocks, -f) unlimited pending signals (-i) 16382 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 2048 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) unlimited virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
这样就能够把当前用户的最大同意打开文件数量设置为2048了。但这样的设置方法在重新启动后会还原为默认值。
永久设置方法
vim /etc/security/limits.conf 在最后增加 * soft nofile 4096 * hard nofile 4096最前的 * 表示全部用户。可依据须要设置某一用户,比如
fdipzone soft nofile 8192 fdipzone hard nofile 8192改完后注销一下就能生效。
以上是关于linux 打开文件数 too many open files 解决方法的主要内容,如果未能解决你的问题,请参考以下文章
(转)linux 打开文件数 too many open files 解决方法
linux 打开文件数too many open files解决方法
centos7,进程最大打开文件数 too many open files错误