常用的linux排查命令之TOP
查看整機情況之top命令
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0trd3X0j-1578625972019)(/images/top.png)]
-
第一行
當前時間 09:28:11 系統已運行時間 up 2 days,19:22 當前登錄用戶數 5 users 系統負載 load average: 1.48 1.38 1.30 分別代表一分鐘、五分鐘、十五分鐘有1.48、1.38、1.30個正在運行及準備就緒的線程,如果是單cpu4核心,那麼load average爲4代表剛好滿負載即有四個線程分別佔滿四個核,通常情況我們設置爲cpu數量 * 該cpu核心數 * 0.7爲閾值。
-
第二行爲進程信息統計數據
437 total 進程總數爲437 1 running 正在運行的進程數爲1 436 sleeping 睡眠的進程數爲436 0 stopped 停止的進程數爲0 0 zombie 殭屍進程數爲0,當子進程退出時,父進程沒有調用wait函數或者waitpid()函數等待子進程結束,又沒有顯式忽略SIGCHLD信號,那麼它將一直保持在殭屍狀態,如果這時父進程結束了,init進程會自動接收這個子進程,爲它收屍,但如果父進程是一個循環,不會結束,那麼子進程就會一直保持僵死狀態。
-
第三行是CPU信息統計數據
0.0% us: 用戶空間佔用全部CPU百分比,比如4核則百分之25%使用了4分之一 0.3% sy: 內核(系統)空間佔用CPU百分比 0.0% ni: 用戶進程空間內改變過優先級的進程佔用CPU百分比 99.7% id: 空閒CPU百分比 0.0% wa: 等待輸入輸出的CPU時間百分比 0.0%hi: 硬件CPU中斷佔用百分比 0.0%si: 軟中斷佔用百分比 0.0%st: 虛擬機(虛擬化技術)佔用百分比
-
第四、五行爲內存信息數據
Mem: 1004768k total: 物理內存總量 463092k used: 使用的物理內存總量 541676k free: 空閒內存總量 64316k buffers: 用作內核緩存的內存量 Swap: 694268k total: 交換區總量 0 k used: 使用的交換區總量 694268k free: 空閒交換區總量 224884k cached:緩衝的交換區總量(內存中的數據被移動至交換區而後又被送至內存空間,但是使用過的交換區尚未被覆蓋,其空間大小即爲這些數據已存在於內存中的交換區的大小,相應的內存再次被換出時可不必再次對交換區寫入)
-
進程的詳細信息
序號 列名 含義 a PID 進程id b PPID 父進程id c RUSER Real user name d UID 進程所有者的用戶id e USER 進程所有者的用戶名 f GROUP 進程所有者的組名 g TTY 啓動進程的終端名 h PR 優先級 i NI nice值。負值表示高優先級,正值表示低優先級 j P 最後使用的CPU,僅在多CPU環境下有意義 k %CPU 上次更新到現在的CPU時間佔用百分比,百分之100說明佔滿單核 l TIME 進程使用的CPU時間總計,單位秒 m TIME+ 進程使用的CPU時間總計,226:14.65 226分支14秒65毫秒 n %MEM 進程使用的物理內存百分比 o VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES p SWAP 進程使用的虛擬內存中,被換出的大小,單位kb。 q RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA r CODE 可執行代碼佔用的物理內存大小,單位kb s DATA 可執行代碼以外的部分(數據段+棧)佔用的物理內存大小,單位kb t SHR 共享內存大小,單位kb u nFLT 頁面錯誤次數 v nDRT 最後一次寫入到現在,被修改過的頁面數。 w S 進程狀態(D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/停止,Z=殭屍進程) x COMMAND 命令名/命令行 y WCHAN 若該進程在睡眠,則顯示睡眠中的系統函數名 z Flags 任務標誌,參考 sched.h
-
使用
top -d 1 -p 7001 每隔一秒打印出7001進程的使用情況 敲擊"1" 列出每個核的cpu情況 敲擊"b" 根據mem%來排序