查看系統信息
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中斷
cat /proc/ioports - 設備IO端口
cat /proc/meminfo - 內存信息(i.e. mem used, free, swap size)
cat /proc/partitions - 所有設備的所有分區
cat /proc/pci - PCI設備的信息
cat /proc/swaps - 所有Swap分區的信息
cat /proc/version - Linux的版本號 相當于 uname -r
uname -a - 看系統內核等信息 (1) 處理器使用率
(2) 內存使用率
(3) 流入流出數據包
(4) 整體網絡負載
這些數據分別要從/proc/stat、/proc/net/dev、/proc/meminfo三個文件中提取。如里有問題或對要提取的數據不太清楚,可以使用man proc來查看proc文件系統的聯機手冊。
(1) 處理器使用率
這里要從/proc/stat中提取四個數據:用戶模式(user)、低優先級的用戶模式(nice)、內核模式(system)以及空閑的處理器時間(idle)。它們均位于/proc/stat文件的第一行。CPU的利用率使用如下公式來計算。
CPU利用率 = 100 *(user + nice + system)/(user + nice + system + idle)
(2) 內存使用率
這里需要從/proc/meminfo文件中提取兩個數據,當前內存的使用量(cmem)以及內存總量(amem)。
內存使用百分比 = 100 * (cmem / umem)
(3)網絡利用率
為了得到網絡利用率的相關數據,需要從/proc/net/dev文件中獲得兩個數據:從本機輸出的數據包數,流入本機的數據包數。它們都位于這個文件的第四行。
性能收集程序開始記錄下這兩個數據的初始值,以后每次獲得這個值后均減去這個初始值即為從集群啟動開始從本節點通過的數據包。
利用上述數據計算出網絡的平均負載,方法如下:
平 均網絡負載 = (輸出的數據包+流入的數據包) / 2 獲取cpu和內存的還有2種方 法:1)toptop -n 1 -p [pid1,pid2,,,] >>topinfo.txt打開topinfo.txt就能獲取進程 的內存cpu信息。2)psps -aux|grep [pid name]|grep -v grep獲取到進程的內存cpu信息,其信息更加精練。 從以上來看,由于多線程程序cpu切換是與進程一樣,因此無法體現真實的cpu使用率,要將上面方法綜合使用才能獲取到真實合理的系統信息。