1. linux TOP命令按內存佔用排序和按CPU佔用排序
Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。下面讓我們一起去了解Linux TOP命令 按內存佔用排序和按CPU佔用排序。
Linux TOP命令 按內存佔用排序和按CPU佔用排序:
:在命令行提示符執行top命令
2:輸入大寫P,則結果按CPU佔用降序排序。輸入大寫M,結果按內存佔用降序排序。(註:大寫P可以在capslock狀態輸入p,或者按Shift+p)
另外:
認識top的顯示結果
top命令的顯示結果如下所示:
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48 Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 191272k total, 173656k used, 17616k free, 22052k buffers Swap: 192772k total, 0k used, 192772k free, 123988k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd 14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top 1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init 2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0統計信息區
前五行是系統整體的統計信息。第一行是任務隊列信息,同 uptime 命令的執行結果。其內容如下:
01:06:48當前時間
up 1:22系統運行時間,格式為時:分
1 user當前登錄用戶數
load average: 0.06, 0.60, 0.48系統負載,即任務隊列的平均長度。
三個數值分別為 1分鍾、5分鍾、15分鍾前到現在的平均值。
第二、三行為進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行。內容如下:
Tasks: 29 total進程總數
1 running正在運行的進程數
28 sleeping睡眠的進程數
0 stopped停止的進程數
0 zombie僵屍進程數
Cpu(s): 0.3% us用戶空間佔用CPU百分比
1.0% sy內核空間佔用CPU百分比
0.0% ni用戶進程空間內改變過優先順序的進程佔用CPU百分比
98.7% id空閑CPU百分比
0.0% wa等待輸入輸出的CPU時間百分比
0.0% hi
0.0% si
最後兩行為內存信息。內容如下:
Mem: 191272k total物理內存總量
173656k used使用的物理內存總量
17616k free空閑內存總量
22052k buffers用作內核緩存的內存量
Swap: 192772k total交換區總量
0k used使用的交換區總量
192772k free空閑交換區總量
123988k cached緩沖的交換區總量。
內存中的內容被換出到交換區,而後又被換入到內存,但使用過的交換區尚未被覆蓋,
該數值即為這些內容已存在於內存中的交換區的大小。
相應的內存再次被換出時可不必再對交換區寫入。
進程信息區
統計信息區域的下方顯示了各個進程的詳細信息。首先來認識一下各列的含義。
序號列名含義
aPID進程id
bPPID父進程id
cRUSERReal user name
dUID進程所有者的用戶id
eUSER進程所有者的用戶名
fGROUP進程所有者的組名
gTTY啟動進程的終端名。不是從終端啟動的進程則顯示為 ?
hPR優先順序
iNInice值。負值表示高優先順序,正值表示低優先順序
jP最後使用的CPU,僅在多CPU環境下有意義
k%CPU上次更新到現在的CPU時間佔用百分比
lTIME進程使用的CPU時間總計,單位秒
mTIME+進程使用的CPU時間總計,單位1/100秒
n%MEM進程使用的物理內存百分比
oVIRT進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
pSWAP進程使用的虛擬內存中,被換出的大小,單位kb。
qRES進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
rCODE可執行代碼佔用的物理內存大小,單位kb
sDATA可執行代碼以外的部分(數據段+棧)佔用的物理內存大小,單位kb
tSHR共享內存大小,單位kb
unFLT頁面錯誤次數
vnDRT最後一次寫入到現在,被修改過的頁面數。
wS進程狀態。
D=不可中斷的睡眠狀態
R=運行
S=睡眠
T=跟蹤/停止
Z=僵屍進程
xCOMMAND命令名/命令行
yWCHAN若該進程在睡眠,則顯示睡眠中的系統函數名
zFlags任務標志,參考 sched.h
默認情況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通過下面的快捷鍵來更改顯示內容。
更改顯示內容
通過 f 鍵可以選擇顯示的內容。按 f 鍵之後會顯示列的列表,按 a-z 即可顯示或隱藏對應的列,最後按回車鍵確定。
按 o 鍵可以改變列的顯示順序。按小寫的 a-z 可以將相應的列向右移動,而大寫的 A-Z 可以將相應的列向左移動。最後按回車鍵確定。
按大寫的 F 或 O 鍵,然後按 a-z 可以將進程按照相應的列進行排序。而大寫的 R 鍵可以將當前的排序倒轉。
2. Linux中top命令輸出指標詳解
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。top顯示系統當前的進程和其他狀況,是一個動態顯示過程,可以自動或者通過用戶按鍵來不斷刷新當前狀態。如果在前台執行該命令,它將獨占前台,直到用戶終止該程序為止.。比較准確的說,top命令提供了實時的對系統處理器的狀態監控,顯示系統中CPU最「敏感」的任務列表。top命令可以按CPU使用、內存使用和執行時間對任務進行排序。而且該命令的很多特性都可以通過互動式命令或者在個人定製文件中進行設定.。
下面詳細介紹它的使用方法。
對於一個新手來說,如果從來沒有使用過top命令,在命令行模式下直接輸入top,可以查看到當前所有進程的信息。
輸出結果中,有很多指標。下面介紹各個指標都代表什麼含義。
top命令輸出結果中,統計信息區前五行是系統整體的統計信息。
第一行是任務隊列信息,同 uptime 命令的執行結果。其內容如下:
第二、三行為進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行。內容如下:
最後兩行為內存信息。內容如下:
進程信息區統計信息區域的下方顯示了各個進程的詳細信息。首先來認識一下各列的含義。
默認情況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通過下面的快捷鍵來更改顯示內容。
參考列表:
3. 在linux中top命令的具體用法是什麼
Linux下查看系統和進程的運行狀態可以使用top命令。
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。
使用格式:top [-][d][p][q][c][C][S][s][n]
參數說明:
d 指定每兩次屏幕信息刷新之間的時間間隔。當然用戶可以使用s交耐租肢互命令來改變。
p 通過指定監控進程ID來僅僅監控某個進程的狀態。
q 該選項將使top沒有任何延遲的進行昌世刷新。如果調用程序有超級用戶許可權,那麼top將以盡可能高的優先順序運行。
S 指定累計模式。
s 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。
i 使top不顯示任何閑置或者僵死進程。
c 顯示整個命令行而不只型盯是顯示命令名。
4. Linux TOP 命令
top命令分為匯總區和任務明細區
當前時間是15:39:37. 系統已經運行了90天,15個小時,26分鍾。當前有兩個活躍用戶
上下兩行以kb形式展示物理內存和swap內存的總計,空閑(free), 已使用(total)的情況
其中buff/cache ,是在cpu讀寫硬碟數據時,為了提速在內存中開辟的緩沖(buffer針對寫)或緩存區域(cache針對讀)
avail mem 是創建新進程時,在不使用swap分區的情況下,能夠分配的內存大小。這個大小可能比當前的free還大,這是因為buff/cache中的內存在創建進程時,若需要,也是可以搶占過來的。
總共有27個進程,1個運行,26的sleep中
load average後面的三組數字分別是1分鍾、5分鍾、15分鍾的工作負載情況。這里的Load指的出於R(runing)和D(Uninterruptible sleep)的兩種狀態下的進程數
在單核cpu情況下。load average 為0.4的表示,其cpu利用率只有40%。 load average 為1,表示cpu利用率為100。load average 為2.12說明,cpu已經超負荷112% (2.12減滿負荷1,即為超負荷部分)
在多核cpu的機器上,需要將以上的1,5,15的負載除以對應的cpu核數,才好評估對應的cpu的負載情況
比如,這個cpu為40核的機器上,其cpu過去一分鍾的使用情況為:8.26/40=0.2065 ,說明cpu使用率只有20%
展示每個進程的情況
在top名稱執行後,按小k,可以進入進程殺死對話框
在後面輸入進程號,即可殺死進程
在top命令下
按以下大寫字母,分別按不同的維度進行排序
當然你也可以在命令啟動時,直接對top加參數。比如以cpu使用情況排序
top命令默認顯示的進程的運行情況,在top命令執行後,按大寫的H,可進入線程執行情況頁面,再按一次H則會到進程展示。或者在啟動時對top加參數 top -H
在top執行後,按小c,則能夠展示進程路徑,並且對內核進程的名稱(command列),加上方括弧。再按c切換回去
當然也可以在啟動時,加參數 top -c
top執行後按大V
在top啟動後,按小寫u,在輸入框中輸入對應的用戶名
或者在top啟動時,通過加參數來過濾用戶 top -u root
在top啟動後,按大O,進入過濾表達式的輸入框
表達式有以下幾種類型
輸入等號'=',清除filter表達式
在top命令下,按t或m來進行進度條顯示
首先基於 ps aux | grep processName 找到對應進程的pid
然後使用 top -c -p pid 方式單過濾查看該進程的資源佔用情況
https://www.booleanworld.com/guide-linux-top-command/
5. 『學了就忘』Linux系統管理 — 3.進程的查看(top命令)
top 命令是用來 動態顯示 系統中進程的命令。
演示:
在 top 命令的交互模式當中可以執行的命令:
執行 top 命令查看結果:
top 命令的輸出內容是動態的,默認每3秒刷新一次。
命令的輸出主要分為兩大部分:
第二部分輸出的內容,主要是系統進程信息。
這部分和ps命令的輸出比較類似,只是如果在終端中執行top命令,不能看到所有的進程,默認是按cpu的佔用率排序的,所以默認只能看到cpu佔比靠前的進程。
例如:
進入到 top 命令的交互界面,按「k」鍵,會提示輸入要殺死進程的PID。
按兩次回車就可以殺死進程指定進程。(這種殺掉進程的方式不常用)
下面我們以xinetd進程為例:
按兩次回車嗎,xinetd進程被kill掉了,等待3秒刷新。
如果在操作終端執行 top 命令,並不能看到系統中所有的進程,默認看到的只是CPU佔比靠前的進程。如果我們想要看到所有的進程,可以把 top 命令的結果重定向到文件當中即可。
不過 top 命令是持續運行的,這時就需要 -b 和 -n 選項了,具體命令如下:
6. Linux裡面top命令作用是什麼
使用SSHClient客戶端連接到遠程Linux系統。使用top命令查看系統的當前運行的情況。對top命令執行的結果做了簡單的圖解,下面針對每一項做詳細的解釋