脚本统计某进程的内存使用大小

简介:
1
2
3
4
5
6
7
8
#!/bin/bash
memlist=` ps  auxf --width=1000 | grep  $1| grep  - v  grep | awk  '{print $6}' `;
totalMem=0
for  mem  in  $memlist;  do
   
   let  "totalMem=$totalMem+mem"
done
echo  $totalMem

$1 表示进程名字,是脚本给出的参数。也是zabbix上Item中要指定的。


上面的脚本可以简化:

1
2
3
#!/bin/bash
mem=` ps  auxf --width=1000 | grep  $1| grep  - v  grep | awk  '{sum+=$6}END{print sum}' `
echo  $mem


ps aux命令详解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[root@ZabbixServer scripts] # ps auxf --width=1000|more
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          2  0.0  0.0      0     0 ?        S    Jun29   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [migration /0 ]
root          4  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [ksoftirqd /0 ]
root          5  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [stopper /0 ]
root          6  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [watchdog /0 ]
root          7  0.0  0.0      0     0 ?        S    Jun29   0:31  \_ [events /0 ]
root          8  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [events /0 ]
root          9  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [events_long /0 ]
root         10  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [events_power_ef]
root         11  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [cgroup]
root         12  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [khelper]
root         13  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [netns]
root         14  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [async /mgr ]
root         15  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [pm]
root         16  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [sync_supers]
root         17  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [bdi-default]
root         18  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [kintegrityd /0 ]
root         19  0.0  0.0      0     0 ?        S    Jun29   0:13  \_ [kblockd /0 ]
root         20  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [kacpid]
root         21  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [kacpi_notify]
root         22  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [kacpi_hotplug]
root         23  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [ata_aux]
root         24  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [ata_sff /0 ]
root         25  0.0  0.0      0     0 ?        S    Jun29   0:00  \_ [ksuspend_usbd]

USER:进程的属主;
PID :进程的ID;
PPID :父进程;
%CPU:进程占用的CPU百分比;
%MEM:占用内存的百分比;
NI :进程的NICE值,数值大,表示较少占用CPU时间;
VSZ:該进程使用的虚拟內存量(KB);
RSS:該進程占用的固定內存量(KB)(驻留中页的数量);
TTY:該進程在那個終端上運行(登陸者的終端位置),若與終端無關,則顯示(?)。若為pts/0等,則表示由網絡連接主機進程
WCHAN:當前進程是否正在進行,若為-表示正在進行;
START:該進程被觸發启动时间;
TIME:該进程實際使用CPU運行的时间;
COMMAND:命令的名称和参数;


STAT常见状态:

D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换  (从内核2.6开始无效);
X 死掉的进程   (基本很少見);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;










本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1833505,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
Linux
|
3月前
|
Shell Linux 开发工具
linux shell脚本利用 kill -0 检查进程是否存在
linux shell脚本利用 kill -0 检查进程是否存在
59 1
|
24天前
|
存储 监控 异构计算
【Python】GPU内存监控脚本
【Python】GPU内存监控脚本
|
30天前
|
存储 Linux 程序员
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
74 0
|
1月前
|
消息中间件 Linux
Linux进程间通信(IPC)教程 Linux共享内存介绍:介绍POSIX共享内存的基本概念、用途和编程实践
Linux进程间通信(IPC)教程 Linux共享内存介绍:介绍POSIX共享内存的基本概念、用途和编程实践
25 2
|
1月前
|
Linux 数据安全/隐私保护
进程间通信之共享内存及其shm函数的使用【Linux】
进程间通信之共享内存及其shm函数的使用【Linux】
|
2月前
|
监控 Python Windows
使用python脚本来监控进程
使用python脚本来监控进程
|
2月前
|
存储 负载均衡 算法
负载均衡案例:如何只用2GB内存统计20亿个整数中出现次数最多的整数
负载均衡案例:如何只用2GB内存统计20亿个整数中出现次数最多的整数
32 2
|
2月前
|
Linux
百度搜索:蓝易云【深入解析Linux进程内存:VSS、RSS、PSS、USS及查看方式】
通过以上方法,你可以深入了解Linux进程的内存使用情况,包括VSS、RSS、PSS、USS等指标,帮助你进行性能优化和资源管理。
41 12
|
2月前
|
网络协议 Linux
【系统DFX】如何诊断占用过多 CPU、内存、IO 等的神秘进程?
【系统DFX】如何诊断占用过多 CPU、内存、IO 等的神秘进程?
111 0

相关实验场景

更多