赞
踩
1、ulimit命令
命令作用:可以设置系统的限制值
命令参数:
-a 显示所有限制
-c core文件大小的上限
-d 进程数据段大小的上限
-f shell所能创建的文件大小的上限
-m 驻留内存大小的上限
-s 堆栈大小的上限
-t 每秒可占用的CPU时间上限
-p 管道大小
-n 打开文件数的上限
-u 进程数的上限
-v 虚拟内存的上限
命令使用,临时性的直接用ulimit 加参数设置,永久性的需要修改/etc/security/limits.conf
每个进程可打开的文件数:ulimit -n xx 如`ulimit -n 4096`
数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
堆栈大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited
2、linux /etc/security/limits.conf的相关说明

limits.conf的格式如下: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 - 此用户允许登录的最大数目
* soft noproc 4096
* hard noproc 4096
* soft nofile 4096
* hard nofile 4096
cat /etc/pam.d/login查看文件中有:session required /lib/security/pam_limits.so
3、sysctl命令
sysctl -a 显示所有内核参数
sysctl -w 参数名=参数值 ,sysctl -w fs.file-max=4096 设置系统允许同时打开的最大文件数为4096
4、查看系统资源限制的命令
4.1 查看所有用户创建的进程数

4.2 最大打开文件描述符数


4.3 进程最大打开文件描述符数




* soft nofile 4096
* hard nofile 4096

4.4 查看当前系统使用的打开文件描述符数,其中第一个数表示当前系统已分配使用的打开文件描述符数,第二个数为分配后已释放的(目前已不再使用),第三个数等于file-max

4.5 通过使用
ulimit -a来查看所有限制值

4.6 使用命令
lsof -n | awk '{print $2}' | sort|uniq -c | sort -nr|more查看当前系统各个进程产生了多少句柄,第一列为句柄数,第二列为进程ID,losf命令用于查看当前系统所打开的fd的数量。使用命令ps -ax|grep 669查看进程ID对应的应用程序是哪个。

查看对应的进程

4.6 修改TCP连接关闭的TIME_WAIT的2MSL时间(默认为2分钟)
/sbin/sysctl -p让参数生效。netstat -n|awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a] }'查看各连接状态的计数情况。

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。