top
top是Linux下一個常用命令,用來監視系統的運行狀況,類似於Windows的任務管理器,下圖是top
命令的運行界面:top的運行結果可以大致分為7個部分:
- 第1行顯示了系統概況
- 第2行顯示了進程概況
- 第3行顯示了CPU概況
- 第4行顯示了內存概況
- 第5行顯示了Swap分區概況
- 第6行為空行,用以顯示運行命令時輸入的參數
- 剩下部分則為每個進程的詳細信息
第1行
字符 | 含義 |
---|---|
top - | 系統概況 |
18:37:24 | 當前系統時間 |
up 130 days, 6:22, | 系統已運行時間 |
1 user, | 當前登錄用戶數 |
load average: 0.02, 0.04, 0.00 | 系統平均負載,三個數值分別為1分鍾、5分鍾、15分鍾前到現在的平均值。 |
第2行
字符 | 含義 |
---|---|
Tasks: | 進程(任務)概況 |
23 total, | 總進程數 |
1 running, | 運行的進程數 |
22 sleeping, | 睡眠的進程數 |
0 stopped, | 停止的進程數 |
0 zombie | 僵屍進程數 |
第3行
字符 | 含義 |
---|---|
Cpu(s): | CPU概況 |
3.7%us, | 用戶(user)進程占用CPU百分率 |
0.7%sy, | 系統(system)進程占用CPU百分率 |
0.0%ni, | 用戶進程空間內改變過優先級(niced)的進程占用CPU百分比 |
95.7%id, | CPU空閑(idle)率 |
0.0%wa, | 等待(wait)IO的CPU時間百分比 |
0.0%hi, | 硬中斷(hardware interrupt)占用CPU的百分比 |
0.0%si, | 軟中斷(software interrupt)占用CPU的百分比 |
0.0%st |
第4行
字符 | 含義 |
---|---|
Mem: | 內存(memory)概況,數值以kb為單位 |
524288k total, | 內存總量 |
278140k used, | 內存使用量 |
246148k free, | 內存空閑量 |
0k buffers | 緩沖的內存量 |
第5行
字符 | 含義 |
---|---|
Swap: | Swap分區概況,數值以kb為單位 |
65536k total, | Swap分區總量 |
65536k used, | Swap分區使用量 |
0k free, | Swap分區空閑量 |
28800k cached | 緩沖的Swap分區量 |
剩下部分
字符 | 含義 |
---|---|
PID | 進程號 |
USER | 進程創建者 |
PR | 進程優先級 |
NI | nice值。越小優先級越高,最小-20,最大20(用戶設置最大19) |
VIRT | 進程使用的虛擬(virtual)內存總量,單位kb。VIRT=SWAP+RES |
RES | 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA |
SHR | 共享(share)內存大小,單位kb |
S | 進程狀態。D=不可中斷的睡眠狀態,R=運行態,S=睡眠態,T=跟蹤/停止態,Z=僵屍態 |
%CPU | 進程占用CPU百分比 |
%MEM | 進程占用內存百分比 |
TIME+ | 進程運行時間 |
COMMAND | 運行進程時所使用的命令 |
命令
在top
命令運行界面也可以輸入相關命令,具體如下:
q
:退出top
運行界面P
:以占據CPU百分比排序M
:以占據內存百分比排序T
:以累積占用CPU時間排序s
:修改刷新時間間隔,默認每隔3秒刷新信息。按下s鍵,然后按下數字,即可修改刷新時間間隔為你輸入的數字,單位為秒。例如:按下s鍵,在按數字1鍵,即可實現每秒刷新一次- 回車或空格:手動立即刷新
k
:終止指定的進程。按下k鍵,再輸入要殺死的進程的pid,再按回車鍵,選擇信號類型,以數字標示,默認15為殺死,本步可省略直接按回車鍵(常用為-9)h
:顯示可輸入的命令幫助菜單
安裝:
方式一:通過yum安裝(yum -y install htop)
方式二:通過rpm包安裝
wget http://pkgs.repoforge.org/htop/htop-1.0.2-1.el6.rf.x86_64.rpm
rpm -i htop-1.0.2-1.el6.rf.x86_64.rpm
htop
htop是一款第三方的命令行工具,它可以被視為是top的增強版,在Ubuntu下可使用apt install htop
命令安裝,下圖是htop
命令的運行界面:
當了解了top
運行界面的各種參數的含義后,htop
運行界面就變得不言而喻了,下面簡要介紹一下可以在htop運行界面執行的相關命令:
第一行與第二行,顯示CPU當前的運行負載,我這里是雙CPU就顯示兩行!
第三行,顯示內存的使用情況!
第四行,顯示交換分區使用情況!
Linux系統的負荷“load averages”的含義
load average 三個參數的含義在w的手冊里面找到,分別是1分鍾、5分鍾、15分鍾內的平均負載。
負載和你的CPU core的數量有關,可以通過以下查看:grep -c processor /proc/cpuinfo
我用的是雙核CPU,負載如果是2.00,說明CPU已經滿負荷,如果高於2.00說明有task被等待,遠高於2.00的時候就會發生系統響應過慢,目前圖中我CPU的load average:0.96,1.12,1.11,說明CPU還是比較空閑。
如果使用的是 n 核CPU,那么為 n.00 時,說明負載滿了,高於這個值就應該警惕。
不過對於服務器來說,最好留下一定余地,當參數高於n.00 - 0.3或n.00 - 0.5時,就應該警惕,趕快查看問題
第三行,顯示了系統的運行的時間!
PID:進程標志號,是非零正整數
USER:進程所有者的用戶名
PR:進程的優先級別
NI:進程的優先級別數值
VIRT:進程占用的虛擬內存值
RES:進程占用的物理內存值
SHR:進程使用的共享內存值
S:進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數
%CPU:該進程占用的CPU使用率
%MEM:該進程占用的物理內存和總內存的百分比
TIME+:該進程啟動后占用的總的CPU時間
COMMAND:進程啟動的啟動命令名稱
htop 參數
-
-d[刷新時間]-u[指定用戶]
-
Space:標記進程,可以一起kill掉
-
U:去掉所有進程上的標記
-
s:追蹤進程
-
l:顯示進程打開的文件
htop 基本操作
-
F1,h:幫助;
-
F2,S:設置;
-
F3, /:搜索;
F4,I:反轉排序順序; -
F5,T:樹形顯示進程的父進程關系;
-
F6,>:選擇字段進行排序;
F7,],-:增加進程優先級; -
F8,[,+ :減少進程優先級
F9,K :kill; -
F10,Q:退出
優勢
綜上所述,htop相比top有以下優勢:
- 彩色標識CPU、內存、Swap分區
- CPU、內存、Swap分區使用情況直觀易懂
- 底部有命令提示
- 支持方向鍵選擇進程