導航:首頁 > 程序命令 > top命令查負載均衡

top命令查負載均衡

發布時間:2023-07-21 11:56:30

linux怎樣使用top命令查看系統狀態

命令行輸入top,回車

13:42:59 當前系統時間

6 days, 9:29 系統已經運行了6天6小時29分鍾(在這期間沒有重啟過)

3 users 當前有3個用戶登錄系統

load average: 3.06,3.01, 1.79 load average後面的三個數分別是1分鍾、5分鍾、15分鍾的負載情況。

load average數據是每隔5秒鍾檢查一次活躍的進程數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。

Tasks 任務(進程),系統現在共有131個進程,其中處於運行中的有3個,127個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵屍)的有1個。

10.6% us 用戶空間佔用CPU的百分比。

2.2% sy 內核空間佔用CPU的百分比。

0.0% ni 改變過優先順序的進程佔用CPU的百分比

84.5% id 空閑CPU百分比

2.5% wa IO等待佔用CPU的百分比

0.1% hi 硬中斷(Hardware IRQ)佔用CPU的百分比

0.0% si 軟中斷(Software Interrupts)佔用CPU的百分比

在這里CPU的使用比率和windows概念不同,如果你不理解用戶空間和內核空間,需要充充電了。

8300124k total 物理內存總量(8GB)

5979476k used 使用中的內存總量(5.7GB)

2320648k free 空閑內存總量(2.2G)

455544k buffers 緩存的內存量 (434M)

第五行:swap交換分區

8193108k total 交換區總量(8GB)

41568k used 使用的交換區總量(40.6M)

8151540k free 空閑交換區總量(8GB)

4217456k cached 緩沖的交換區總量(4GB)

內存總量(used)指的是現在系統內核控制的內存數,空閑內存總量(free)是內核還未納入其管控范圍的數量。納入內核管理的內存不見得都在使用中,還包括過去使用過的現在可以被重復利用的內存,內核並不把這些可被重新使用的內存交還到free中去,因此在linux上free內存會越來越少,但不用為此擔心。

如果出於習慣去計算可用內存數,這里有個近似的計算公式:第四行的free + 第四行的buffers + 第五行的cached,按這個公式此台伺服器的可用內存:2320648+455544+4217456= 6.6GB。

對於內存監控,在top里我們要時刻監控第五行swap交換分區的used,如果這個數值在不斷的變化,說明內核在不斷進行內存和swap的數據交換,這是真正的內存不夠用了。

各進程(任務)的狀態監控:

PID 進程id

USER 進程所有者

PR 進程優先順序

NI nice值。負值表示高優先順序,正值表示低優先順序

VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES

RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA

SHR 共享內存大小,單位kb

S 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程

%CPU 上次更新到現在的CPU時間佔用百分比

%MEM 進程使用的物理內存百分比

TIME+ 進程使用的CPU時間總計,單位1/100秒

COMMAND 進程名稱(命令名/命令行)

② 常用命令之TOP

android中TOP命令用於查看當前CPU負載、內存佔用、進程信息等。

第一行 ,進程信息:

系統現在共有668個進程,其中處於運行中的有1個,665個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵屍)的有2個。

第二行 ,內存信息:

物理內存總量:3.5G

使用中的內存:3.1G

空閑的內存:466M

緩存的內存:96M

第三行 ,交御陪換分區,android中指ZRAM:

交換分區總量:2G

使用中的交換區:455M

空閑的交換區總量:1.5G

緩沖的交換區:1.4G

第四行 ,CPU狀態信息:

800%cpu

5%user - 用戶進程佔用cpu的百分比

0%nice - 優先值為負的進程所佔用的CPU時間

7%sys - 系統進程佔用cpu的百分比

788%idle - 空閑cpu百分比

1%iow - IO等待時間凱拆尺

0%irq - 硬中斷時間

0%sirq - 軟中斷時間

0%host -

第五行 ,各進程狀態監控:

PID — 進程id

USER — 進程所有者

PR — 進程優先順序

NI — nice值。負值表示高優先順序,正值表示低優先順序

VIRT — 進程使用的虛擬內存總量,VIRT=SWAP+RES

RES — 進程使用的、未被換出的物理內存大小,RES=CODE+DATA

SHR — 共享內存大小

S — 進程狀盯高態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程

%CPU — 上次更新到現在的CPU時間佔用百分比

%MEM — 進程使用的物理內存百分比

TIME+ — 進程使用的CPU時間總計,單位1/100秒

ARGS — 進程名稱(命令名/命令行)

③ 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/

④ 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 鍵可以將當前的排序倒轉。

閱讀全文

與top命令查負載均衡相關的資料

熱點內容
時間演算法與現在有什麼區別 瀏覽:160
7zip解壓後沒文件夾 瀏覽:900
為什麼安卓送玫瑰ios收不到 瀏覽:6
美篇文章加密是什麼意思 瀏覽:80
ilasm編譯dll 瀏覽:36
呼吸燈單片機程序 瀏覽:950
linux域socket 瀏覽:246
qq分身怎麼樣才能加密 瀏覽:453
windows打開linux 瀏覽:995
新建文件夾為什麼不能發送微信 瀏覽:600
交警app怎麼綁定本人幾輛車 瀏覽:986
彩虹六號如何人工伺服器 瀏覽:633
mc伺服器地址怎麼登入 瀏覽:557
蘋果app怎麼掃描二維碼下載 瀏覽:961
css文件在線解壓 瀏覽:156
36歲程序員近況 瀏覽:285
哪裡可以下載不加密的歌 瀏覽:936
隱藏文件夾是什麼梗 瀏覽:920
插件注冊命令 瀏覽:498
梁一端加密一端不加密規范 瀏覽:84