學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

Linux top命令的用法有哪些

時間: 加城1195 分享

  Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。其中top命令是常用命令之一,在監(jiān)控和管理數(shù)值方面很重要,以下是對Linux中top命令的用法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下

  具體介紹

  查看多核CPU命令

  mpstat -P ALL 和 sar -P ALL

  說明:sar -P ALL > aaa.txt 重定向輸出內(nèi)容到文件 aaa.txt

  top命令經(jīng)常用來監(jiān)控linux的系統(tǒng)狀況,比如cpu、內(nèi)存的使用,程序員基本都知道這個命令,但比較奇怪的是能用好它的人卻很少,例如top監(jiān)控視圖中內(nèi)存數(shù)值的含義就有不少的曲解。

  本文通過一個運(yùn)行中的WEB服務(wù)器的top監(jiān)控截圖,講述top視圖中的各種數(shù)據(jù)的含義,還包括視圖中各進(jìn)程(任務(wù))的字段的排序。

  top進(jìn)入視圖

  【top視圖 01】是剛進(jìn)入top的基本視圖,我們來結(jié)合這個視圖講解各個數(shù)據(jù)的含義。

  復(fù)制代碼 代碼如下:

  第一行:

  10:01:23 — 當(dāng)前系統(tǒng)時間

  126 days, 14:29 — 系統(tǒng)已經(jīng)運(yùn)行了126天14小時29分鐘(在這期間沒有重啟過)

  2 users — 當(dāng)前有2個用戶登錄系統(tǒng)

  load average: 1.15, 1.42, 1.44 — load average后面的三個數(shù)分別是1分鐘、5分鐘、15分鐘的負(fù)載情況。

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

  復(fù)制代碼 代碼如下:

  第二行:

  Tasks — 任務(wù)(進(jìn)程),系統(tǒng)現(xiàn)在共有183個進(jìn)程,其中處于運(yùn)行中的有1個,182個在休眠(sleep),stoped狀態(tài)的有0個,zombie狀態(tài)(僵尸)的有0個。

  復(fù)制代碼 代碼如下:

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

  6.7% us — 用戶空間占用CPU的百分比。

  0.4% sy — 內(nèi)核空間占用CPU的百分比。

  0.0% ni — 改變過優(yōu)先級的進(jìn)程占用CPU的百分比

  92.9% id — 空閑CPU百分比

  0.0% wa — IO等待占用CPU的百分比

  0.0% hi — 硬中斷(Hardware IRQ)占用CPU的百分比

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

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

  復(fù)制代碼 代碼如下:

  第四行:內(nèi)存狀態(tài)

  8306544k total — 物理內(nèi)存總量(8GB)

  7775876k used — 使用中的內(nèi)存總量(7.7GB)

  530668k free — 空閑內(nèi)存總量(530M)

  79236k buffers — 緩存的內(nèi)存量 (79M)

  復(fù)制代碼 代碼如下:

  第五行:swap交換分區(qū)

  2031608k total — 交換區(qū)總量(2GB)

  2556k used — 使用的交換區(qū)總量(2.5M)

  2029052k free — 空閑交換區(qū)總量(2GB)

  4231276k cached — 緩沖的交換區(qū)總量(4GB)

  這里要說明的是不能用windows的內(nèi)存概念理解這些數(shù)據(jù),如果按windows的方式此臺服務(wù)器“危矣”:8G的內(nèi)存總量只剩下530M的可用內(nèi)存。Linux的內(nèi)存管理有其特殊性,復(fù)雜點(diǎn)需要一本書來說明,這里只是簡單說點(diǎn)和我們傳統(tǒng)概念(windows)的不同。

  第四行中使用中的內(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)存會越來越少,但不用為此擔(dān)心。

  如果出于習(xí)慣去計(jì)算可用內(nèi)存數(shù),這里有個近似的計(jì)算公式:第四行的free + 第四行的buffers + 第五行的cached,按這個公式此臺服務(wù)器的可用內(nèi)存:530668+79236+4231276 = 4.7GB。

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

  復(fù)制代碼 代碼如下:

  第六行是空行

  復(fù)制代碼 代碼如下:

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

  PID — 進(jìn)程id

  USER — 進(jìn)程所有者

  PR — 進(jìn)程優(yōu)先級

  NI — nice值。負(fù)值表示高優(yōu)先級,正值表示低優(yōu)先級

  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時間占用百分比

  %MEM — 進(jìn)程使用的物理內(nèi)存百分比

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

  COMMAND — 進(jìn)程名稱(命令名/命令行)

  多U多核CPU監(jiān)控

  在top基本視圖中,按鍵盤數(shù)字“1”,可監(jiān)控每個邏輯CPU的狀況:

  補(bǔ)充:Linux基本命令

  1.ls命令:

  格式::ls [選項(xiàng)] [目錄或文件]

  功能:對于目錄,列出該目錄下的所有子目錄與文件;對于文件,列出文件名以及其他信息。

  常用選項(xiàng):

  -a :列出目錄下的所有文件,包括以 . 開頭的隱含文件。

  -d :將目錄像文件一樣顯示,而不是顯示其他文件。

  -i :輸出文件的i節(jié)點(diǎn)的索引信息。

  -k :以k字節(jié)的形式表示文件的大小。

  -l :列出文件的詳細(xì)信息。

  -n :用數(shù)字的UID,GID代替名稱。

  -F : 在每個文件名后面附上一個字符以說明該文件的類型,“*”表示可執(zhí)行的普通文 件;“/”表示目錄;“@”表示符號鏈接;“l”表示FIFOS;“=”表示套接字。

  2.cd命令

  格式:cd [目錄名稱]

  常用選項(xiàng):

  cd .. 返回上一級目錄。

  cd ../.. 將當(dāng)前目錄向上移動兩級。

  cd - 返回最近訪問目錄。

  3.pwd命令

  格式: pwd

  功能:顯示出當(dāng)前工作目錄的絕對路徑。

  相關(guān)閱讀:Linux主要特性

  完全兼容POSIX1.0標(biāo)準(zhǔn)

  這使得可以在Linux下通過相應(yīng)的模擬器運(yùn)行常見的DOS、Windows的程序。這為用戶從Windows轉(zhuǎn)到Linux奠定了基礎(chǔ)。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運(yùn)行,這一點(diǎn)就消除了他們的疑慮。

  多用戶、多任務(wù)

  Linux支持多用戶,各個用戶對于自己的文件設(shè)備有自己特殊的權(quán)利,保證了各用戶之間互不影響。多任務(wù)則是現(xiàn)在電腦最主要的一個特點(diǎn),Linux可以使多個程序同時并獨(dú)立地運(yùn)行。

  良好的界面

  Linux同時具有字符界面和圖形界面。在字符界面用戶可以通過鍵盤輸入相應(yīng)的指令來進(jìn)行操作。它同時也提供了類似Windows圖形界面的X-Window系統(tǒng),用戶可以使用鼠標(biāo)對其進(jìn)行操作。在X-Window環(huán)境中就和在Windows中相似,可以說是一個Linux版的Windows。

  支持多種平臺

  Linux可以運(yùn)行在多種硬件平臺上,如具有x86、680x0、SPARC、Alpha等處理器的平臺。此外Linux還是一種嵌入式操作系統(tǒng),可以運(yùn)行在掌上電腦、機(jī)頂盒或游戲機(jī)上。2001年1月份發(fā)布的Linux 2.4版內(nèi)核已經(jīng)能夠完全支持Intel 64位芯片架構(gòu)。同時Linux也支持多處理器技術(shù)。多個處理器同時工作,使系統(tǒng)性能大大提高。


Linux top命令的用法相關(guān)文章:

1.linux的top命令有什么用

2.Linux top命令查看多核CPU每個核心的使用率

3.Linux TOP命令 按內(nèi)存占用排序和按CPU占用排序

4.top是什么意思用法有哪些

5.xshell操作linux系統(tǒng)的常用命令

4018958