一、top命令
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似於Windows的任務管理器。
運行 top 命令后,CPU 使用狀態會以全屏的方式顯示,並且會處在對話的模式 -- 用基於 top 的命令,可以控制顯示方式等等。退出 top 的命令為 q (在 top 運行中敲 q 鍵一次)。
內容解釋:
第一行(top):
15:24:36 系統當前時刻
14 days 系統啟動后到現在的運作時間
3 users 當前登錄到系統的用戶,更確切的說是登錄到用戶的終端數 -- 同一個用戶同一時間對系統多個終端的連接將被視為多個用戶連接到系統,這里的用戶數也將表現為終端的數目
load average 當前系統負載的平均值,后面的三個值分別為1分鍾前、5分鍾前、15分鍾前進程的平均數,一般的可以認為這個數值超過 CPU 數目時,CPU 將比較吃力的負載當前系統所包含的進程
第二行(Tasks):
288 total 當前系統進程總數
1 running 當前運行中的進程數
287 sleeping 當前處於等待狀態中的進程數
0 stoped 被停止的系統進程數
0 zombie 僵屍進程數
第三行(Cpus):
7.3% us 用戶空間占用CPU百分比
2.0% sy 內核空間占用CPU百分比
0.0% ni 用戶進程空間內改變過優先級的進程占用CPU百分比
90.4% id 空閑CPU百分比
0.3% wa 等待輸入輸出的CPU時間百分比
0.0% hi
0.0% si
0.0% st
第四行(Mem):
2042616 total 物理內存總量
1770116 used 使用的物理內存總量
272500 free 空閑內存總量
163912 buffers 用作內核緩存的內存量
第五行(Swap):
表示類別同第四行(Mem),但此處反映着交換分區(Swap)的使用情況。通常,交換分區(Swap)被頻繁使用的情況,將被視作物理內存不足而造成的。
2094076 total 交換區總量
45052 used 使用的交換區總量
2049024 free 空閑交換區總量
346624 cached 緩沖的交換區總量
最下部分的進程列表欄:
以 PID 區分的進程列表將根據所設定的畫面更新時間定期的更新。通過 top 內部命令可以控制此處的顯示方式:
PID:進程的ID
USER:進程所有者
PR:進程的優先級別,越小越優先被執行
NInice:值
VIRT:進程占用的虛擬內存
RES:進程占用的物理內存
SHR:進程使用的共享內存
S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值為負數
%CPU:進程占用CPU的使用率
%MEM:進程使用的物理內存和總內存的百分比
TIME+:該進程啟動后占用的總的CPU時間,即占用CPU使用時間的累加值。
COMMAND:進程啟動命令名稱
top 運行中可以通過 top 的內部命令對進程的顯示方式進行控制。內部命令如下表:
s- 改變畫面更新頻率
l - 關閉或開啟第一部分第一行 top 信息的表示
t - 關閉或開啟第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m - 關閉或開啟第一部分第四行 Mem 和 第五行 Swap 信息的表示
N - 以 PID 的大小的順序排列表示進程列表(第三部分后述)
P - 以 CPU 占用率大小的順序排列進程列表 (第三部分后述)
M - 以內存占用率大小的順序排列進程列表 (第三部分后述)
h - 顯示幫助
n - 設置在進程列表所顯示進程的數量
q - 退出 top
s -改變畫面更新周期
二、ps命令
ps命令用於報告當前系統的進程狀態。ps命令是最基本同時也是非常強大的進程查看命令,使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等,總之大部分信息都是可以通過執行該命令得到的。
F 代表這個程序的旗標 (flag), 4 代表使用者為 super user;
S 代表這個程序的狀態 (STAT);
PID 程序的 ID ;
C CPU 使用的資源百分比
PRI 這個是 Priority (優先執行序) 的縮寫;
NI 這個是 Nice 值。
ADDR 這個是 kernel function,指出該程序在內存的那個部分。如果是個 running # 的程序,一般就是『 - 』
SZ 使用掉的內存大小;
WCHAN 目前這個程序是否正在運作當中,若為 - 表示正在運作;
TTY 登入者的終端機位置;
TIME 使用掉的 CPU 時間。
CMD 所下達的指令
三、pmap命令
pmap命令用於報告進程的內存映射關系
$ pmap -d 16613
四、free命令
free命令可以顯示當前系統未使用的和已使用的內存數目,還可以顯示被內核使用的內存緩沖區。
下面是對這些數值的解釋:
total:總計物理內存的大小。
used:已使用多大。
free:可用有多少。
Shared:多個進程共享的內存總額。
Buffers/cached:磁盤緩存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。