應(yīng)用問題分析方式及命令有很多,一般都結(jié)合著使用,今天主要介紹下:
(1)top命令,實時查看服務(wù)器資源使用情況,類似windows下的資源管理器;
(2)tail命令,實時刷新查看日志命令。
top命令是Linux下常用的性能分析工具,能夠?qū)崟r顯示系統(tǒng)中各個進程的資源占用狀況。
top //默認每隔5秒,顯示所有進程的資源占用情況
top -d 2 //每隔2秒,顯示所有進程的資源占用情況
top -c //每隔5秒,顯示所有進程的資源占用情況,-c重點是能看到命令行參數(shù)名稱(比如java項目,不加-c的話只有java,增加-c的話,能看到具體執(zhí)行參數(shù),i'm 軟件老王)
(1)第一行就不說了,沒啥意思;
(2)第二行, 顯示的是進程匯總信息,其中:
total 進程總數(shù)
running 正在運行的進程數(shù)
sleeping 睡眠的進程數(shù)
stopped 停止的進程數(shù)
zombie 僵尸進程數(shù)
(3)第三行,顯示的是cpu使用情況,其中:
0.2% us 用戶空間占用CPU百分比
0.2% sy 內(nèi)核空間占用CPU百分比
0.0% ni 用戶進程空間內(nèi)改變過優(yōu)先級的進程占用CPU百分比
99.6% id 空閑CPU百分比
0.0% wa 等待輸入輸出的CPU時間百分比
0.0%hi:硬件CPU中斷占用百分比
0.0%si:軟中斷占用百分比
0.0%st:虛擬機占用百分比
注意:可以在top命令下按 “1”,就可以把第三行展開(比如4個cpu展開4行),查看各個cpu占比情況。
(4)第四行和第五行,顯示的是內(nèi)存使用情況,其中:
Mem:
total 物理內(nèi)存總量
free 空閑內(nèi)存總量
used 使用的物理內(nèi)存總量
buffer 用作內(nèi)核緩存的內(nèi)存量
Swap:
total 交換區(qū)總量
free 空閑交換區(qū)總量
used 使用的交換區(qū)總量
avail Mem 有效內(nèi)存
(5) 第六行,顯示的是具體用戶及進程使用cpu及內(nèi)存情況,其中:
PID 進程id
USER Real user name
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時間總計,單位秒
COMMAND 命令名/命令行
特別注意:需要注意的是第一行的%cpu跟第三行的cpu有區(qū)別的。
其中第三行的cpu(%)表示的是 所有用戶進程占用整個cpu的平均值,由于每個核心占用的百分比不同,所以按平均值來算比較有參考意義,而第六行的%CPU顯示的是進程占用一個核的百分比,而不是整個cpu(4核)的百分比,有時候可能大于100,那是因為該進程啟用了多線程占用了多個核心(i’m 軟件老王),所以有時候我們看該值得時候會超過100%,但不會超過總核數(shù)*100。
(1)描述:當(dāng)需要定位或者查看問題的時候,需要實時跟蹤日志。
(2)命令用法
tail -f test.log
(3)tail命令解析
-f 循環(huán)讀取
-q 不顯示處理信息
-v 顯示詳細的處理信息
-c<數(shù)目> 顯示的字節(jié)數(shù)
-n<行數(shù)> 顯示行數(shù)
–pid=PID 與-f合用,表示在進程ID,PID死掉之后結(jié)束.
-q, –quiet, –silent 從不輸出給出文件名的首部
-s, –sleep-interval=S 與-f合用,表示在每次反復(fù)的間隔休眠S秒
上一個教程:Linux之用戶管理命令
下一個教程:linux 重啟命令