linux之limit.conf

最近在思考生产环境中内存限制、cpu使用数量限制等问题,其中也有对cgroup的研究,详见

文件路径:/etc/security/limits.conf
配置格式:

limits.conf的格式如下:
<domain>   <type>   <item>    <value>
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4

*要使limits.conf文件配置生效,必须要确保 pam_limits.so文件被加入到启动文件中。
查看 /etc/pam.d/login 文件中有:(没有就添加)

session required /lib/security/pam_limits.so

注意:
好多人设置了limitc.conf没有测试,测试后发现没有生效
原因大多数为:

session required /lib/security/pam_limits.so ##32位系统

session required /lib64/security/pam_limits.so ##64位系统

1、limit参数

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  虚拟内存的上限
Logo

更多推荐