[root@xxxxxx~]# cat /etc/issue
Red Hat Enterprise Linux Server release 5.8 (Tikanga)
[root@xxxxxx ~]# uname -a
Linux xxxxxx 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
优化一、/etc/security/limits.conf
优化二、/etc/sysctl.conf
1、/etc/security/limits.conf
limits.conf的后端是这样工作的:limits.conf是pam_limits.so的配置文件,然后/etc/pam.d/下的应用程序调 用pam_***.so模块。譬如说,当用户访问服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目录下选择一个 对应的服务文件,然后根据服务文件的内容选择具体的PAM模块进行处理。
Tips:当用户登录主机,会调用pam_limits.so
cat /etc/pam.d/login
session required /lib64/security/pam_limits.so
1.1、
pam_limits.so模块的主要功能是限制用户会话过程中对各种系统资源的使用情况。缺省情况下该模块的配置文件是/etc/security/limits.conf。而该配置文件的基本格式实际上是由4个字段组成的表,其中具体限制格式:
username|@groupname type resource limit
username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
type:有 soft,hard 和 -,
soft 指的是当前系统生效的设置值。
hard 表明系统中所能设定的最大值。
soft 的限制不能比har 限制高。
用 - 就表明同时设置了 soft 和 hard 的值。
resource:
- core - 限制内核文件的大小
- date - 最大数据大小
- fsize - 最大文件大小
- memlock - 最大锁定内存地址空间
- nofile - 打开文件的最大数目
- rss - 最大持久设置大小
- stack - 最大栈大小
- cpu - 以分钟为单位的最多 CPU 时间
- noproc - 进程的最大数目
- as - 地址空间限制
- maxlogins - 此用户允许登录的最大数目
- maxsyslogins - 用户登入最大数目
- priority - 用户进程优先级(负数值)
- locks - 最大locks文件最值
- sigpending - 最大数量的等待信号
- msgqueue - postfix消息队列最大内存使用空间
- nice - 允许使用最大“好心值”
- rtprio - 无特权进程中最大实际优及级
Tips:
要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。
查看 /etc/pam.d/login 文件中有:
session required /lib/security/pam_limits.so
1.2、主机参考配置:
#<domain> <type> <item> <value>
#
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
* soft core unlimited
* hard core unlimited
* soft fsize unlimited
* hard fsize unlimited
* soft data unlimited
* hard data unlimited
* soft nproc 1048756
* hard nproc 1048756
* soft stack unlimited
* hard stack unlimited
* soft nofile 1048576
* hard nofile 1048576
* hard sigpending 1056639
* soft sigpending 1056639
# End of file
1.2、
Ulimit命令
设置限制 可以把命令加到profile文件里,也可以在/etc/security/limits.conf文件中定义
限制。
命令参数
-a 显示所有限制
-c core文件大小的上限
-d 进程数据段大小的上限
-f shell所能创建的文件大小的上限
-m 驻留内存大小的上限
-s 堆栈大小的上限
-t 每秒可占用的CPU时间上限
-p 管道大小
-n 打开文件数的上限
-u 进程数的上限
-v 虚拟内存的上限
2、/etc/sysctl.conf