#!/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中要指定的。
上面的脚本可以简化:
#!/bin/bash mem=`ps auxf --width=1000 |grep $1|grep -v grep|awk ‘{sum+=$6}END{print sum}‘` echo $mem
ps aux命令详解
[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);
+ 位于后台的进程组;
参考资料:http://blog.csdn.net/hanner_cheung/article/details/6081440
本文出自 “zengestudy” 博客,请务必保留此出处http://zengestudy.blog.51cto.com/1702365/1833505
原文地址:http://zengestudy.blog.51cto.com/1702365/1833505