1. socket缓冲区
1. 查看
$ cat /proc/sys/net/core/rmem_max (接收缓冲区、读缓冲区)
124928
$ cat /proc/sys/net/core/wmem_max (发送缓冲区、写缓冲区)
124928
2. 设置
$ echo "net.core.rmem_max = 16777216" >> /etc/sysctl.conf
$ echo "net.core.wmem_max = 16777216" >> /etc/sysctl.conf
$ sysctl -p
1. 系统最大打开文件描述符数:/proc/sys/fs/file-max
1. 查看
$ cat /proc/sys/fs/file-max
186405
2. 设置
a. 临时性
$ echo 1000000 > /proc/sys/fs/file-max
b. 永久性:在/etc/sysctl.conf中设置
fs.file-max = 1000000
2. 进程最大打开文件描述符数:user limit中nofile的soft limit
1. 查看
$ ulimit -n
1700000
2. 设置
a. 临时性:
通过ulimit -Sn设置最大打开文件描述符数的soft limit,注意soft limit不能大于hard limit(ulimit -Hn可查看hard limit),
另外ulimit -n默认查看的是soft limit,但是ulimit -n 1800000则是同时设置soft limit和hard limit。对于非root用户只能设置比原来小的hard limit。
查看hard limit:
$ ulimit -Hn
1700000
设置soft limit,必须小于hard limit:
$ ulimit -Sn 1600000
b. 永久性:
上面的方法只是临时性的,注销重新登录就失效了,而且不能增大hard limit,只能在hard limit范围内修改soft limit。
若要使修改永久有效,则需要在/etc/security/limits.conf中进行设置(需要root权限),
可添加如下两行,表示用户chanon最大打开文件描述符数的soft limit为1800000,hard limit为2000000。
以下设置需要注销之后重新登录才能生效:
chanon soft nofile 1800000
chanon hard nofile 2000000
设置nofile的hard limit还有一点要注意的就是hard limit不能大于/proc/sys/fs/nr_open,
假如hard limit大于nr_open,注销后无法正常登录。可以修改nr_open的值:
# echo 2000000 > /proc/sys/fs/nr_open
3. 查看当前系统使用的打开文件描述符数
$ cat /proc/sys/fs/file-nr
5664 0 186405
其中第一个数表示当前系统已分配使用的打开文件描述符数,第二个数为分配后已释放的(目前已不再使用),第三个数等于file-max。
4. 总结:
1. 所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max
2. 单个进程打开的文件描述符数不能超过user limit中nofile的soft limit
3. nofile的soft limit不能超过其hard limit
4. nofile的hard limit不能超过/proc/sys/fs/nr_open
1. core文件
1. 查看
$ ulimit -c
2. 设置
a. 临时性:
$ ulimit -c 10240
b. 永久性:
$ echo "ulimit -c unlimited" >> /etc/profile
3. 设置生成样式
可以设置格式化的 core 文件保存位置或文件名
$ echo "/corefile/core-%e-%t-%s" > proc/sys/kernel/core_pattern
以下是参数列表 :
%p - insert pid into filename 添加 pid
%u - insert current uid into filename 添加当前 uid
%g - insert current gid into filename 添加当前 gid
%s - insert signal that caused the coredump into the filename 添加导致产生 core 的信号
%t - insert UNIX time that the coredump occurred into filename 添加 core 文件生成时的 unix 时间
%h - insert hostname where the coredump happened into filename 添加主机名
%e - insert coredumping executable name into filename 添加命令名
【笔记】linux系统环境限制修改
最新推荐文章于 2023-11-28 15:33:32 发布