查看系統資訊
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使用率,要將上面方法綜合使用才能擷取到真實合理的系統資訊。