limits.conf的格式如下:
分成四个段落domain,type,item,value
domain
username|@groupname 设置需要被限制的用户名或组,组名前面加@和用户名区别; 也可以用通配符*来做所有用户的限制。
type:有 soft,hard 和 –
soft 指的是当前系统生效的设置值(警告) hard 表明系统中所能设定的最大值(错误) soft 的限制不能比har 限制高,- 表明同时设置了 soft 和 hard 的值。
item:有以下几种
core - 限制内核文件的大小(KB) date - 最大数据大小(KB) fsize - 最大文件大小(KB) memlock - 最大锁定内存地址空间(KB) nofile - 打开的文件描述符的最大数目**(经常设置)** rss - 最大持久设置大小(KB) stack - 最大堆栈大小(KB) cpu - 最大CPU时间(min) noproc - 过程最大数量 as - 地址空间限制(KB) maxlogins - 此用户的最大登录数量 maxsyslogins - 在系统上登录的最大数目 priority - 优先级运行用户进程 locks - 文件的最大数量锁定用户可容纳 sigpending - 最大挂起信号的数量 msgqueue - 通过POSIX消息队列使用的最大内存(字节) nice - 最大不错优先允许提高到值:[-20,19] rtprio - 最大实时优先
2. ulimit命令
命令参数
-a 显示所有限制 -c core文件大小的上限 -d 进程数据段大小的上限 -f shell所能创建的文件大小的上限 -m 驻留内存大小的上限 -s 堆栈大小的上限 -t 每秒可占用的CPU时间上限 -p 管道大小 -n 打开文件数的上限 -u 进程数的上限 -v 虚拟内存的上限
ulimit用法
# 显示所有设置 ulimit -a # 对某程序的限制 ulimit -s 512 # 限制线程栈大小 ulimit -p 512
除可用Ulimit命令设置外,也可以在/etc/security/limits.conf文件中定义限制。