#!/bin/sh
# centos下查看进程内存占用情况
# <2009年6月26日> 周梦涛
# 比如:135.474MB nginx[10] 表示: 10个nginx进程,共占用内存135MB
# 跟free的输出可能有差别。
mem=`free -m | awk 'NR==2{print $2}'`
ps aux | sort -k 4 -r | awk '$4 ~ /^[0-9]/ && $4>0 {print $4,$11}' | awk '{print $1/100*mem" "$2}' mem=$mem | sort -k 2 | awk '
{
a[$2] += $1;
b[$2]++;
total += $1;
total++;
}
END{
for(i in a){
t=i;
gsub(/:|.*\//, "", t);
printf "%10s %s\n" ,a[i]"MB", t"["b[i]"]";
}
print "Memory Total: "mem"MB, used: "total"MB, free: "mem-total"MB."
}' mem=$mem | sort -n -r
阅读(989) | 评论(0) | 转发(0) |