深入理解file-max与ulimit的差别

file-maxulimit的关系与差别

两者查看命令:

sysctl -a | grep file

cat /etc/security/limits.conf

ulimit -a #查看当前用户当前shellulimit参数

 

file-maxfile-nr

/proc/sys/fs/file-max 决定了当前内核可以打开的最大的文件句柄数,系统所有进程一共可以打开的文件数量

/proc/sys/fs/file-nr 当前kernel的句柄

file-max解释:

The value in file-max denotes the maximum number of file handles that the

Linux kernel will allocate. When you get a lot of error messages about running

out of file handles, you might want to raise this limit. The default value is

10% of RAM in kilobytes. To change it, just write the new number into the

file:

file-nr解释

Historically, the three values in file-nr denoted the number of allocated file

handles, the number of allocated but unused file handles, and the maximum

number of file handles. Linux 2.6 always reports 0 as the number of free file

handles -- this is not an error, it just means that the number of allocated

file handles exactly matches the number of used file handles.

修改:

vim /proc/sys/fs/file-max修改即可生效

ulimit

说一下open files这个值

ulimit -n : 用户当前shell以及该shell启动的进程打开的文件数量,

所以ulimit -n限制用户单个进程的问价打开最大数量这句话是错误的

这个值默认: 1024

修改

ulimit -n 65535 只能修改当前shell会话。

永久修改需要设置:/etc/security/limits.conf

root soft nofile 65535

root hard nofile 65535

 

#其他用户可以使用*

修改后重启

说一下Ubuntu系统修改。需要检查/etc/pam.d/su /etc/pam.d/session /etc/pam.d/login 等模块是否开启了

session    required   pam_limits.so

这个还不够,对于root用户,Ubuntu系统/etc/security/limits.conf中的*是不能代表root用户的。所以必须写root用户名

root soft nofile 65535

root hard nofile 65535

转自 快问文档 www.kuaiwen.net

猜你喜欢

转载自blog.csdn.net/tryItnow/article/details/82563583