参考回答:
linux默认最大文件句柄数是1024个,在linux服务器文件并发量比较大的情况下,系统会报”too many open files”的错误。故在linux服务器高并发调优时,往往需要预先调优Linux参数,修改Linux最大文件句柄数。
有两种方法:
\1. ulimit -n ,将当前进程的最大句柄数修改为指定的参数(注:该方法只针对当前进程有效,重新打开一个shell或者重新开启一个进程,参数还是之前的值)
首先用ulimit -a查询Linux相关的参数,如下所示:core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 94739
max locked memory (kbytes, -l) 64
max memory vps云服务器 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) 94739
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
其中,open files就是最大文件句柄数,默认是1024个。
修改Linux最大文件句柄数: ulimit -n 2048, 将最大句柄数修改为 2048个。
\2. 对所有进程都有效的方法,修改Linux系统参数
vi /etc/security/limits.conf 添加soft nofile 65536
hard nofile 65536
将最大句柄数改为65536
修改以后保存,注销当前用户,重新登录,修改后的参数就生效了
02456096