top命令是Linux下常用的性能分析工具,能夠?qū)崟r(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況,類似于Windows的任務(wù)管理器。top顯示系統(tǒng)當(dāng)前的進(jìn)程和其他狀況,是一個(gè)動(dòng)態(tài)顯示過(guò)程,可以自動(dòng)或者通過(guò)用戶按鍵來(lái)不斷刷新當(dāng)前狀態(tài)。如果在前臺(tái)執(zhí)行該命令,它將獨(dú)占前臺(tái),直到用戶終止該程序?yàn)橹?。比較準(zhǔn)確的說(shuō),top命令提供了實(shí)時(shí)的對(duì)系統(tǒng)處理器的狀態(tài)監(jiān)控,顯示系統(tǒng)中CPU最“敏感”的任務(wù)列表。top命令可以按CPU使用、內(nèi)存使用和執(zhí)行時(shí)間對(duì)任務(wù)進(jìn)行排序。而且該命令的很多特性都可以通過(guò)交互式命令或者在個(gè)人定制文件中進(jìn)行設(shè)定.。
創(chuàng)新互聯(lián)公司主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺(jué)設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、成都全網(wǎng)營(yíng)銷推廣、網(wǎng)站程序開(kāi)發(fā)、HTML5響應(yīng)式成都網(wǎng)站建設(shè)、成都手機(jī)網(wǎng)站制作、微商城、網(wǎng)站托管及網(wǎng)頁(yè)維護(hù)、WEB系統(tǒng)開(kāi)發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都辦公空間設(shè)計(jì)行業(yè)客戶提供了網(wǎng)站營(yíng)銷服務(wù)。
下面詳細(xì)介紹它的使用方法。
對(duì)于一個(gè)新手來(lái)說(shuō),如果從來(lái)沒(méi)有使用過(guò)top命令,在命令行模式下直接輸入top,可以查看到當(dāng)前所有進(jìn)程的信息。
輸出結(jié)果中,有很多指標(biāo)。下面介紹各個(gè)指標(biāo)都代表什么含義。
top命令輸出結(jié)果中,統(tǒng)計(jì)信息區(qū)前五行是系統(tǒng)整體的統(tǒng)計(jì)信息。
第一行是任務(wù)隊(duì)列信息,同 uptime 命令的執(zhí)行結(jié)果。其內(nèi)容如下:
第二、三行為進(jìn)程和CPU的信息。當(dāng)有多個(gè)CPU時(shí),這些內(nèi)容可能會(huì)超過(guò)兩行。內(nèi)容如下:
最后兩行為內(nèi)存信息。內(nèi)容如下:
進(jìn)程信息區(qū)統(tǒng)計(jì)信息區(qū)域的下方顯示了各個(gè)進(jìn)程的詳細(xì)信息。首先來(lái)認(rèn)識(shí)一下各列的含義。
默認(rèn)情況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列??梢酝ㄟ^(guò)下面的快捷鍵來(lái)更改顯示內(nèi)容。
參考列表:
top命令查看當(dāng)前刷新進(jìn)程
實(shí)時(shí)顯示 process 的動(dòng)態(tài)
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
例如:
輸入 ?top -n 10 ? 后將屏幕顯示10次刷新的進(jìn)程
top類似windows下任務(wù)管理器的功能,用于即時(shí)顯示進(jìn)程的動(dòng)態(tài)信息
它的選項(xiàng)主要是調(diào)整顯示信息的速度/范圍等等
具體的可以看man top
top命令分為匯總區(qū)和任務(wù)明細(xì)區(qū)
當(dāng)前時(shí)間是15:39:37. 系統(tǒng)已經(jīng)運(yùn)行了90天,15個(gè)小時(shí),26分鐘。當(dāng)前有兩個(gè)活躍用戶
上下兩行以kb形式展示物理內(nèi)存和swap內(nèi)存的總計(jì),空閑(free), 已使用(total)的情況
其中buff/cache ,是在cpu讀寫(xiě)硬盤(pán)數(shù)據(jù)時(shí),為了提速在內(nèi)存中開(kāi)辟的緩沖(buffer針對(duì)寫(xiě))或緩存區(qū)域(cache針對(duì)讀)
avail mem 是創(chuàng)建新進(jìn)程時(shí),在不使用swap分區(qū)的情況下,能夠分配的內(nèi)存大小。這個(gè)大小可能比當(dāng)前的free還大,這是因?yàn)閎uff/cache中的內(nèi)存在創(chuàng)建進(jìn)程時(shí),若需要,也是可以搶占過(guò)來(lái)的。
總共有27個(gè)進(jìn)程,1個(gè)運(yùn)行,26的sleep中
load average后面的三組數(shù)字分別是1分鐘、5分鐘、15分鐘的工作負(fù)載情況。這里的Load指的出于R(runing)和D(Uninterruptible sleep)的兩種狀態(tài)下的進(jìn)程數(shù)
在單核cpu情況下。load average 為0.4的表示,其cpu利用率只有40%。 load average 為1,表示cpu利用率為100。load average 為2.12說(shuō)明,cpu已經(jīng)超負(fù)荷112% (2.12減滿負(fù)荷1,即為超負(fù)荷部分)
在多核cpu的機(jī)器上,需要將以上的1,5,15的負(fù)載除以對(duì)應(yīng)的cpu核數(shù),才好評(píng)估對(duì)應(yīng)的cpu的負(fù)載情況
比如,這個(gè)cpu為40核的機(jī)器上,其cpu過(guò)去一分鐘的使用情況為:8.26/40=0.2065 ,說(shuō)明cpu使用率只有20%
展示每個(gè)進(jìn)程的情況
在top名稱執(zhí)行后,按小k,可以進(jìn)入進(jìn)程殺死對(duì)話框
在后面輸入進(jìn)程號(hào),即可殺死進(jìn)程
在top命令下
按以下大寫(xiě)字母,分別按不同的維度進(jìn)行排序
當(dāng)然你也可以在命令啟動(dòng)時(shí),直接對(duì)top加參數(shù)。比如以cpu使用情況排序
top命令默認(rèn)顯示的進(jìn)程的運(yùn)行情況,在top命令執(zhí)行后,按大寫(xiě)的H,可進(jìn)入線程執(zhí)行情況頁(yè)面,再按一次H則會(huì)到進(jìn)程展示。或者在啟動(dòng)時(shí)對(duì)top加參數(shù) top -H
在top執(zhí)行后,按小c,則能夠展示進(jìn)程路徑,并且對(duì)內(nèi)核進(jìn)程的名稱(command列),加上方括號(hào)。再按c切換回去
當(dāng)然也可以在啟動(dòng)時(shí),加參數(shù) top -c
top執(zhí)行后按大V
在top啟動(dòng)后,按小寫(xiě)u,在輸入框中輸入對(duì)應(yīng)的用戶名
或者在top啟動(dòng)時(shí),通過(guò)加參數(shù)來(lái)過(guò)濾用戶 top -u root
在top啟動(dòng)后,按大O,進(jìn)入過(guò)濾表達(dá)式的輸入框
表達(dá)式有以下幾種類型
輸入等號(hào)'=',清除filter表達(dá)式
在top命令下,按t或m來(lái)進(jìn)行進(jìn)度條顯示
首先基于 ps aux | grep processName 找到對(duì)應(yīng)進(jìn)程的pid
然后使用 top -c -p pid 方式單過(guò)濾查看該進(jìn)程的資源占用情況