要了解系統的效能狀況,否先要知道你的系統正在進行那些動作,有哪些程式正在執行,這些所有運作中的程式動作,就是你系統效能的總和。Process就是系統執行中的程式,程式要能執行必須先取得所需的系統資源,包括CPU時間、記憶體等等。所以process的運作最終將左右系統的整體效能;而系統資源的調配,也會影響process執行的表現。
要了解系統的效能狀況,否先要知道你的系統正在進行那些動作,有哪些程式正在執行,這些所有運作中的程式動作,就是你系統效能的總和。Process就是系統執行中的程式,程式要能執行必須先取得所需的系統資源,包括CPU時間、記憶體等等。所以process的運作最終將左右系統的整體效能;而系統資源的調配,也會影響process執行的表現。
Linux系統提供了很多工具程式(指令),來讓你取得process的運作狀況,像是最常見的:top、ps、pstree等等。
就從最簡單的ps談起。ps命令提供許多選項,最常使用的就是 'ps aux' 了,他可以列出系統中所有執行的process的資訊。透過'ps aux'你不僅可以看到process的的擁有者、運行的時間、狀態(S)等等,更重要的是你可以看到這個process所耗用的CPU(%CPU)與記憶體(%MEM)資源。另外,也能看到process的優先權(PRI/NI)。我們在第一篇CPU的效能關鍵字中有特別提到nice這個關鍵字。PRI/NI這兩個職越小代表執行的優先權越高,PRI是系統決定的,但是NI(也就是nice)是使用者可以設定的(使用nice命令),通常設定的範圍是 -20 到 19。
以下是一個 'ps -l' 輸出的簡單例子:
# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 12047 12045 0 75 0 - 1570 wait pts/2 00:00:00 bash
4 R 0 12090 12047 0 76 0 - 762 - pts/2 00:00:00 ps
[本系列文章]
Linux系統效能分析與探討 - [1] CPU的效能關鍵字
Linux系統效能分析與探討 - [2] 記憶體的效能關鍵字
Linux系統效能分析與探討 - [3] Linux作業系統網路模組的效能關鍵字
Linux系統效能分析與探討 - [4] Linux block device的效能關鍵字