linux的top命令簡介
top命令是Linux下常用的性能分析工具,能夠?qū)崟r顯示系統(tǒng)中各個進程的資源占用狀況,類似于Windows的任務(wù)管理器。
top顯示系統(tǒng)當(dāng)前的進程和其他狀況,是一個動態(tài)顯示過程,即可以通過用戶按鍵來不斷刷新當(dāng)前狀態(tài).如果在前臺執(zhí)行該命令,它將獨占前臺,直到用戶 終止該程序為止. 比較準(zhǔn)確的說,top命令提供了實時的對系統(tǒng)處理器的狀態(tài)監(jiān)視.它將顯示系統(tǒng)中CPU最“敏感”的任務(wù)列表.該命令可以按CPU使用.內(nèi)存使用和執(zhí)行時間 對任務(wù)進行排序;而且該命令的很多特性都可以通過交互式命令或者在個人定制文件中進行設(shè)定。
在linux系統(tǒng)中,top命令可謂是分析系統(tǒng)性能最方便的工具,而且top還是個交互式工具;通過top命令可以清楚地了解到正在執(zhí)行的進程信息包括進程ID,內(nèi)存占用率,CPU占用率等。其實就跟window的任務(wù)管理器類似。
運行top命令的結(jié)果如下:
![](http://img.jbzj.com/file_images/article/201903/2019318164636040.png?201921816474)
第一行是任務(wù)隊列信息,跟 uptime 命令的執(zhí)行結(jié)果類同,具體參數(shù)說明如下:
- 19:40:19 — 指當(dāng)前系統(tǒng)時間
- up 35 days, 20:32 — 表示系統(tǒng)已經(jīng)運行了35天20小時32分鐘(是指在這期間系統(tǒng)沒有重新啟動過,持續(xù)運行)
- 1 users — 當(dāng)前有1個用戶登錄系統(tǒng)
- load average: 0.00, 0.00, 0.00 — load average后面的三個數(shù)分別是1分鐘、5分鐘、15分鐘的負載情況。
- load average數(shù)據(jù)是每隔5秒鐘檢查一次活躍的進程數(shù),然后按特定算法計算出的數(shù)值。如果這個數(shù)除以邏輯CPU的數(shù)量,結(jié)果高于5的時候就表明系統(tǒng)在超負荷運轉(zhuǎn)了。
第二行,Tasks — 任務(wù)(進程),具體信息說明如下:
- 系統(tǒng)現(xiàn)在共有81個進程,其中處于運行中的有1個,80個在休眠(sleep),stoped狀態(tài)的有0個,zombie狀態(tài)(僵尸)的有0個,要特別留意zombie的進程哦。
第三行,cpu狀態(tài)信息,具體屬性說明如下:
- 0.0%us — 用戶空間占用CPU的百分比。
- 0.0%sy — 內(nèi)核空間占用CPU的百分比。
- 0.0%ni — 改變過優(yōu)先級的進程占用CPU的百分比
- 100.0%id — 空閑CPU百分比
- 0.0%wa — IO等待占用CPU的百分比
- 0.0%hi — 硬中斷(Hardware IRQ)占用CPU的百分比
- 0.0%si — 軟中斷(Software Interrupts)占用CPU的百分比
- 0.0%st — 這個我也不知道……
第四行, Mem內(nèi)存狀態(tài),具體信息說明如下:
- 1029828k total — 物理內(nèi)存總量(1GB)
- 804628k used — 使用中的內(nèi)存總量(767M)
- 228200k free — 空閑內(nèi)存總量(217M)
- 167208k buffers — 緩存的內(nèi)存量(159M)
第五行,swap交換分區(qū)信息,具體信息說明如下:
- 0k total — 交換區(qū)總量(0K)
- 0k used — 使用的交換區(qū)總量(0K)
- 0k free — 空閑交換區(qū)總量(0K)
- 401672k cached — 緩沖的交換區(qū)總量(383M)
第六行,空行。
第七行以下:各進程(任務(wù))的狀態(tài)監(jiān)控,列信息說明如下:
- PID — 進程id
- USER — 進程所有者
- PR — 進程優(yōu)先級
- NI — nice值。負值表示高優(yōu)先級,正值表示低優(yōu)先級
- VIRT — 進程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RES
- RES — 進程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA
- SHR — 共享內(nèi)存大小,單位kb
- S — 進程狀態(tài)。D=不可中斷的睡眠狀態(tài) R=運行 S=睡眠 T=跟蹤/停止 Z=僵尸進程
- %CPU — 上次更新到現(xiàn)在的CPU時間占用百分比
- %MEM — 進程使用的物理內(nèi)存百分比
- TIME+ — 進程占用的CPU時間總計,單位1/100秒
- COMMAND — 進程名稱(命令名/命令行)
top 命令參數(shù):
- -b 批處理
- -c 顯示完整的 COMMAND
- -I 忽略失效過程
- -s 保密模式
- -S 累積模式
- -i<時間> 設(shè)置間隔時間
- -u<用戶名> 指定用戶名
- -p<進程號> 指定進程
- -n<次數(shù)> 循環(huán)顯示的次數(shù)
top 的交互命令(在top命令運行過程中輸入以下命令即可):
- q:退出程序。
- h或者? :顯示幫助畫面,給出一些簡短的命令總結(jié)說明。
- k :終止一個進程。系統(tǒng)將提示用戶輸入需要終止的進程PID,以及需要發(fā)送給該進程什么樣的信號。一般的終止進程可以使用15信號;如果不能正常結(jié)束那就使用信號9強制結(jié)束該進程。默認值是信號15。在安全模式中此命令被屏蔽。
- i:忽略閑置和僵尸進程。這是一個開關(guān)式命令。
- M:根據(jù)駐留內(nèi)存大小進行排序。
- P:根據(jù)CPU使用百分比大小進行排序。
- T:根據(jù)時間/累計時間進行排序。
- W:將當(dāng)前設(shè)置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。
- r:重新安排一個進程的優(yōu)先級別。系統(tǒng)提示用戶輸入需要改變的進程PID以及需要設(shè)置的進程優(yōu)先級值。輸入一個正值將使優(yōu)先級降低,反之則可以使該進程擁有更高的優(yōu)先權(quán)。默認值是10。
- l:切換顯示平均負載和啟動時間信息。即顯示影藏第一行
- m:切換顯示內(nèi)存信息。即顯示影藏內(nèi)存行
- t:切換顯示進程和CPU狀態(tài)信息。即顯示影藏CPU行
- c:切換顯示命令名稱和完整命令行。 顯示完整的命令。 這個功能很有用。
- S:切換到累計模式。
- s:改變兩次刷新之間的延遲時間。系統(tǒng)將提示用戶輸入新的時間,單位為s。如果有小數(shù),就換算成ms。輸入0值則系統(tǒng)將不斷刷新,默認值是5s。需要注意的是如果設(shè)置太小的時間,很可能會引起不斷刷新,從而根本來不及看清顯示的情況,而且系統(tǒng)負載也會大大增加。
- f或者F:從當(dāng)前顯示中添加或者刪除項目。
- o或者O:改變顯示項目的順序。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接