watop.gif

一個小小的script與大家分享,主要是透過ps的指令去累計每位使用者的CPU以及MEMORY用量,系統上若是有很多不同的用戶,這是一個很方便的檢視方式。而在虛擬主機上,apache+suPHP的模式下,也可以快速地察覺是哪一個用戶或是網站吃資源吃得最兇,甚至定期把資料撈出來匯入資料庫,做成圖表也沒有問題了啦!

這個script是在CentOS下使用沒有問題,個平台可以依照ps的輸出結果再進行修改。
預設是每五秒重新撈一次資料,可以儲存成scriipt之後,自行帶入參數當成秒數。


#!/bin/bash

if [ $1 -ne 5 ];then
    sec=$1
else
    sec=5
fi

while true
do
clear

ps aux | tail -n+2 | awk \
'BEGIN { printf("\tUSER\t%MEM\t%CPU\n")}
{
CPU[$1] += $3
MEM[$1] += $4
}
END { for (USER in MEM)
        {
                printf("%12s %6.2f %6.2f\n", USER, MEM[USER], CPU[USER])
        }
}'

sleep $sec
done

更多資訊請參考:
最新超值旗艦機開箱
比螺旋燈泡還省電的迷你 NAS
26800mAh筆電行動電源