ulimit命令的参数有
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes
编辑/etc/security/limits.conf文件,基于特定的组或用户进行限制,例如:
* soft core 0
* hard rss 10000
@studenthardnproc 20
domain以@符号+用户名或者组名对特定的用户或者组做限制,*表示所有用户;type字段可以设置为hard也可以设置为soft;item字段指想限制的资源,如cpu,core等;value字段是相应项目的值。
linux内存使用情况查看命令查看内存:freewww.dnjsb.com
total
used
free
shared
buffers
cachedMem:
8126976
7609376
517600
0
447392
1268632-/+
buffers/cache:
5893352
2233624Swap:
2928636
572388
2356248top查看进程,shift+f可以设置排序顺序,如果按照RES排序,可以保证清晰的查看到系统占用内存较大的线程。
www.dnjsb.com
ps:查看进程情况,
一般使用ps
-ef,
ps
-aux-A
:所有的
process
均显示出来,与
-e
具有同样的效用;-a
:不与
terminal
有关的所有
process
;-u
:有效使用者
(effective
user)
相关的
process
;x
:通常与
a
这个参数一起使用,可列出较完整信息。输出格式规划:l
:较长、较详细的将该
PID
的的信息列出;j
:工作的格式
(jobs
format)-f
:做一个更为完整的输出。红色为父进程idguest
12032
11991
0
21:32
pts/0
00:00:00
grep
httpdadmin
14969
26047
0
09:21
?
00:00:01
/usr/alibaba/httpd/bin/httpd
-d
/home/admin/run/deployadmin
20417
26047
0
09:36
?
00:00:01
/usr/alibaba/httpd/bin/httpd
-d
/home/admin/run/deployroot
26047
1
0
Nov19
?
00:00:00
/usr/alibaba/httpd/bin/httpd
-d
/home/admin/run/deploy通过pstree
-p
26047,
可以看到所有的子进程的线程!查看swap使用情况:#!/bin/bashPID=${1:-[1-9]*}total_swap=0GetSwap
()
{
pid=$1
cmdline=$(cat
/proc/$pid/cmdline
2>/dev/null|tr
''
'
')
pid_swap=$(awk
'BEGIN{total=0}/Swap/{total+=$2}END{print
total}'
/proc/$pid/smaps
2>/dev/null)
if
[
$pid_swap
!=
''
]
&&
[
$pid_swap
-gt
0
]
then
echo
PID=$pid
–
Swap
used:
$pid_swap
Kb
–
($cmdline)
fi}cd
/procfor
pid
in
$PID
do
GetSwap
$pid
let
total_swap+=$pid_swapdoneecho
Total
swap:
$total_swap
Kb
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)