一天一命令之ulimit

来自linux中国网wiki
Evan讨论 | 贡献2019年10月14日 (一) 13:55的版本 (导入1个版本)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索
vi /etc/security/limits.conf
# add (*指代系统用户名),修改Linux系统对用户的关于打开文件数的软限制和硬限制:
* soft nofile 65535
* hard nofile 65535


修改/etc/pam.d/login文件,在文件中添加如下行:
session required /lib/security/pam_limits.so

如果是64bit系统的话,应该为 :
session required /lib64/security/pam_limits.so

/sbin/sysctl -p /etc/sysctl.conf

/sbin/sysctl -w net.ipv4.route.flush=1

执行如下命令(linux系统优化完网络必须调高系统允许打开的文件数才能支持大的并发,默认1024是远远不够的):

echo  'ulimit -HSn 65536' >> /etc/rc.local

echo 'ulimit -HSn 65536' >>/root/.bash_profile

ulimit -HSn 65536
重启机器 

选项

-a:显示目前资源限制的设定;
-c <core文件上限>:设定core文件的最大值,单位为区块;
-d <数据节区大小>:程序数据节区的最大值,单位为KB;
-f <文件大小>:shell所能建立的最大文件,单位为区块;
-H:设定资源的硬性限制,也就是管理员所设下的限制;
-m <内存大小>:指定可使用内存的上限,单位为KB;
-n <文件数目>:指定同一时间最多可开启的文件数;
-p <缓冲区大小>:指定管道缓冲区的大小,单位512字节;
-s <堆叠大小>:指定堆叠的上限,单位为KB;
-S:设定资源的弹性限制;
-t <CPU时间>:指定CPU使用时间的上限,单位为秒;
-u <程序数目>:用户最多可开启的程序数目;
-v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。



常用



查看  
ulimit -n
65536




https://man.linuxde.net/ulimit