top查看CPU運(yùn)行狀態(tài)

$ top 
top - 17:15:58 up 33 days,  4:53,  3 users,  load average: 2.16, 1.75, 1.46
Tasks:  76 total,   3 running,  73 sleeping,   0 stopped,   0 zombie
%Cpu(s): 99.5 us,  0.5 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1883724 total,    53948 free,   794396 used,  1035380 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   916476 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
21207 root      20   0  859688 703220   1124 S 99.2 37.3  70:41.21 bwa
 5543 root      10 -10  127472   7616   4408 S  0.6  0.4 395:08.35 AliYunDun
 5478 root      10 -10   32716   2904   1244 S  0.1  0.2  10:16.20 AliYunDunUpdate
21640 root      20   0       0      0      0 R  0.1  0.0   0:00.03 kworker/0:2

top結(jié)果解讀

  • 第一行:系統(tǒng)狀況
top - 17:15:58    # 當(dāng)前系統(tǒng)時(shí)間
up 33 days, 4:53    # 系統(tǒng)已經(jīng)運(yùn)行了這么長時(shí)間(在這期間沒有重啟過)
3 users    # 當(dāng)前有2個(gè)用戶登錄系統(tǒng)
load average: 2.16, 1.75, 1.46    # 分別是1分鐘、5分鐘、15分鐘的負(fù)載情況

load average數(shù)據(jù)是每隔5秒鐘檢查一次活躍的進(jìn)程數(shù),然后按特定算法計(jì)算出的數(shù)值。如果這個(gè)數(shù)除以邏輯CPU的數(shù)量,結(jié)果高于5的時(shí)候就表明系統(tǒng)在超負(fù)荷運(yùn)轉(zhuǎn)了。

  • 第二行:運(yùn)行進(jìn)程統(tǒng)計(jì)
Tasks:  76 total,   # 系統(tǒng)現(xiàn)在共有76個(gè)進(jìn)程,
3 running,  # 其中處于運(yùn)行中的有3個(gè),
73 sleeping,   # 73個(gè)在休眠,
0 stopped,   # stoped狀態(tài)的有0個(gè),
0 zombie    # zombie(僵尸)狀態(tài)的有0個(gè)

第三行:cpu狀態(tài)

%Cpu(s): 99.5 us,  # 用戶空間占用CPU的百分比。
0.5 sy,  # 內(nèi)核空間占用CPU的百分比。
0.0 ni,  # 改變過優(yōu)先級(jí)的進(jìn)程占用CPU的百分比。
0.0 id,  # 空閑CPU百分比。
0.0 wa,  # IO等待占用CPU的百分比。
0.0 hi,  # 硬中斷(Hardware IRQ)占用CPU的百分比。
0.0 si,  # 軟中斷(Software Interrupts)占用CPU的百分比
0.0 st

Linux CPU的使用比率和windows概念不同
用戶空間
內(nèi)核空間

  • 第四行:內(nèi)存狀態(tài)
KiB Mem :  # 內(nèi)存狀態(tài)
1883724 total,    # 物理內(nèi)存總量(2GB)
53948 free,   # 空閑內(nèi)存總量
794396 used,  # 使用中的內(nèi)存總量
1035380 buff/cache    # 緩存的內(nèi)存量

使用中的內(nèi)存總量(used)指的是現(xiàn)在系統(tǒng)內(nèi)核控制的內(nèi)存數(shù);
空閑內(nèi)存總量(free)是內(nèi)核還未納入其管控范圍的數(shù)量。
納入內(nèi)核管理的內(nèi)存不見得都在使用中,還包括過去使用過的現(xiàn)在可以被重復(fù)利用的內(nèi)存,內(nèi)核并不把這些可被重新使用的內(nèi)存交還到free中去,因此在linux上free內(nèi)存會(huì)越來越少,但不用為此擔(dān)心。

  • 第五行:swap交換分區(qū)
KiB Swap:        
0 total,   # 交換區(qū)總量
0 free,        # 空閑交換區(qū)總量
0 used.   # 使用的交換區(qū)總量
916476 avail Mem

注:不能用windows的內(nèi)存概念理解linux系統(tǒng)。

對(duì)于內(nèi)存監(jiān)控,在top里我們要時(shí)刻監(jiān)控第五行swap交換分區(qū)的used,如果這個(gè)數(shù)值在不斷的變化,說明內(nèi)核在不斷進(jìn)行內(nèi)存和swap的數(shù)據(jù)交換,這是真正的內(nèi)存不夠用了。

  • 第六行:空行

  • 第七行以下:各進(jìn)程(任務(wù))的狀態(tài)監(jiān)控

PID    # 進(jìn)程id
USER    # 進(jìn)程所有者
PR    # 進(jìn)程優(yōu)先級(jí)
NI    # nice值。負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)
VIRT    # 進(jìn)程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RES
RES    # 進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA
SHR    # 共享內(nèi)存大小,單位kb
S    # 進(jìn)程狀態(tài)。D=不可中斷的睡眠狀態(tài) R=運(yùn)行 S=睡眠 T=跟蹤/停止 Z=僵尸進(jìn)程
%CPU    # 上次更新到現(xiàn)在的CPU時(shí)間占用百分比
%MEM    # 進(jìn)程使用的物理內(nèi)存百分比
TIME+    # 進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒
COMMAND    # 進(jìn)程名稱(命令名/命令行)

提煉自龜仙人的博客

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • SWAP/swappiness/kswapd原理,swap分區(qū)優(yōu)先級(jí)的妙用 概述 本文討論的swap基于Linux...
    xywzhen閱讀 5,688評(píng)論 1 5
  • 在系統(tǒng)維護(hù)的過程中,隨時(shí)可能有需要查看 CPU 使用率,并根據(jù)相應(yīng)信息分析系統(tǒng)狀況的需要。在 CentOS 中,可...
    yichen_china閱讀 7,196評(píng)論 0 1
  • 一、Linux查看物理CPU個(gè)數(shù)、核數(shù)、邏輯CPU個(gè)數(shù) # 總核數(shù) = 物理CPU個(gè)數(shù) X 每顆物理CPU的核數(shù) ...
    air_b10f閱讀 5,294評(píng)論 0 0
  • top命令經(jīng)常用來監(jiān)控linux的系統(tǒng)狀況,比如cpu、內(nèi)存的使用,程序員基本都知道這個(gè)命令,但比較奇怪的是能用好...
    bailongxian閱讀 1,185評(píng)論 0 4
  • 1、進(jìn)程簡(jiǎn)介 linux上進(jìn)程有5種狀態(tài) 運(yùn)行(正在運(yùn)行或在運(yùn)行隊(duì)列中等待) 中斷(休眠中,受阻,在等待某個(gè)條件的...
    不穿格子衫的程序猿閱讀 2,738評(píng)論 0 0

友情鏈接更多精彩內(nèi)容