<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          詳解 TOP 命令

          共 3654字,需瀏覽 8分鐘

           ·

          2021-04-06 17:55

          公眾號(hào)關(guān)注杰哥的IT之旅”,

          選擇“星標(biāo)”,重磅干貨,第一時(shí)間送達(dá)!


          作者:Linoxide

          譯:Linux 中國(guó)/geekpi

          Linux 中的 top 命令顯示系統(tǒng)上正在運(yùn)行的進(jìn)程。它是系統(tǒng)管理員最重要的工具之一。被廣泛用于監(jiān)視服務(wù)器的負(fù)載。在本篇中,我們會(huì)探索 top 命令的細(xì)節(jié)。top 命令是一個(gè)交互命令。在運(yùn)行 top 的時(shí)候還可以運(yùn)行很多命令。我們也會(huì)探索這些命令。

          (譯注:不同發(fā)行版的 top 命令在各種細(xì)節(jié)有不同,如果發(fā)現(xiàn)不同時(shí),請(qǐng)讀你的幫助手冊(cè)和命令內(nèi)的幫助。)

          1. Top 命令輸出

          首先,讓我們了解一下輸出。top 命令會(huì)顯示系統(tǒng)的很多信息。我們需要理解不同部分輸出的意義:默認(rèn)運(yùn)行時(shí),top 命令會(huì)顯示如下輸出:

          前幾行水平顯示了不同系統(tǒng)參數(shù)的概括,接下來是進(jìn)程和它們?cè)诹兄械膶傩浴?/p>

          1.1 系統(tǒng)運(yùn)行時(shí)間和平均負(fù)載


          top 命令的頂部顯示與uptime命令相似的輸出。

          這些字段顯示:

          • 當(dāng)前時(shí)間

          • 系統(tǒng)已運(yùn)行的時(shí)間

          • 當(dāng)前登錄用戶的數(shù)量

          • 相應(yīng)最近5、10和15分鐘內(nèi)的平均負(fù)載。

          可以使用’l’命令切換 uptime 的顯示。

          1.2 任務(wù)

          第二行顯示的是任務(wù)或者進(jìn)程的總結(jié)。進(jìn)程可以處于不同的狀態(tài)。這里顯示了全部進(jìn)程的數(shù)量。除此之外,還有正在運(yùn)行、睡眠、停止、僵尸進(jìn)程的數(shù)量(僵尸是一種進(jìn)程的狀態(tài))。這些進(jìn)程概括信息可以用’t’切換顯示。

          1.3 CPU 狀態(tài)

          下一行顯示的是 CPU 狀態(tài)。這里顯示了不同模式下的所占 CPU 時(shí)間的百分比。這些不同的 CPU 時(shí)間表示:

          • us, user:運(yùn)行(未調(diào)整優(yōu)先級(jí)的) 用戶進(jìn)程的CPU時(shí)間

          • sy,system: 運(yùn)行內(nèi)核進(jìn)程的CPU時(shí)間

          • ni,niced:運(yùn)行已調(diào)整優(yōu)先級(jí)的用戶進(jìn)程的CPU時(shí)間

          • wa,IO wait: 用于等待IO完成的CPU時(shí)間

          • hi:處理硬件中斷的CPU時(shí)間

          • si: 處理軟件中斷的CPU時(shí)間

          • st:這個(gè)虛擬機(jī)被hypervisor偷去的CPU時(shí)間(譯注:如果當(dāng)前處于一個(gè)hypervisor下的vm,實(shí)際上hypervisor也是要消耗一部分CPU處理時(shí)間的)。

          可以使用’t’命令切換顯示。

          1.4 內(nèi)存使用

          接下來兩行顯示內(nèi)存使用率,有點(diǎn)像’free’命令。第一行是物理內(nèi)存使用,第二行是虛擬內(nèi)存使用(交換空間)。

          物理內(nèi)存顯示如下:全部可用內(nèi)存、已使用內(nèi)存、空閑內(nèi)存、緩沖內(nèi)存。

          相似地:交換部分顯示的是:全部、已使用、空閑和緩沖交換空間。

          內(nèi)存顯示可以用’m’命令切換。

          1.5 字段/列

          在橫向列出的系統(tǒng)屬性和狀態(tài)下面,是以列顯示的進(jìn)程。不同的列代表下面要解釋的不同屬性。

          默認(rèn)上,top 顯示這些關(guān)于進(jìn)程的屬性:

          PID:進(jìn)程 ID,進(jìn)程的唯一標(biāo)識(shí)符

          USER:進(jìn)程所有者的實(shí)際用戶名。

          PR:進(jìn)程的調(diào)度優(yōu)先級(jí)。這個(gè)字段的一些值是’rt’。這意味這這些進(jìn)程運(yùn)行在實(shí)時(shí)態(tài)。

          NI:進(jìn)程的 nice 值(優(yōu)先級(jí))。越小的值意味著越高的優(yōu)先級(jí)。

          VIRT:進(jìn)程使用的虛擬內(nèi)存。

          RES:駐留內(nèi)存大小。駐留內(nèi)存是任務(wù)使用的非交換物理內(nèi)存大小。

          SHR:SHR 是進(jìn)程使用的共享內(nèi)存。

          S:這個(gè)是進(jìn)程的狀態(tài)。它有以下不同的值:

          • D – 不可中斷的睡眠態(tài)。

          • R – 運(yùn)行態(tài)

          • S – 睡眠態(tài)

          • T – 被跟蹤或已停止

          • Z – 僵尸態(tài)

          %CPU 自從上一次更新時(shí)到現(xiàn)在任務(wù)所使用的CPU時(shí)間百分比。

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

          TIME+ 任務(wù)啟動(dòng)后到現(xiàn)在所使用的全部 CPU 時(shí)間,精確到百分之一秒。

          COMMAND 運(yùn)行進(jìn)程所使用的命令。

          還有許多在默認(rèn)情況下不會(huì)顯示的輸出,它們可以顯示進(jìn)程的頁(yè)錯(cuò)誤、有效組和組ID和其他更多的信息。

          2. 交互命令

          我們之前說過 top 是一個(gè)交互命令。上一節(jié)我們已經(jīng)遇到了一些命令。這里我們會(huì)探索更多的命令。

          2.1 ‘h’: 幫助

          首先,我們可以用’h’或者’?’顯示交互命令的幫助菜單。

          2.2 ‘’ 或者 ‘’: 刷新顯示

          top 命令默認(rèn)在一個(gè)特定間隔(3秒)后刷新顯示。要手動(dòng)刷新,用戶可以輸入回車或者空格。

          2.3 ‘A’: 切換交替顯示模式

          這個(gè)命令在全屏和交替模式間切換。在交替模式下會(huì)顯示 4 個(gè)窗口(譯注:分別關(guān)注不同的字段):

          • Def (默認(rèn)字段組)

          • Job (任務(wù)字段組)

          • Mem (內(nèi)存字段組)

          • Usr (用戶字段組)

          這四組字段共有一個(gè)獨(dú)立的可配置的概括區(qū)域和它自己的可配置任務(wù)區(qū)域。4 個(gè)窗口中只有一個(gè)窗口是當(dāng)前窗口。當(dāng)前窗口的名稱顯示在左上方。(譯注:只有當(dāng)前窗口才會(huì)接受你鍵盤交互命令)

          我們可以用’a’和’w’在 4 個(gè)窗口間切換。’a’移到后一個(gè)窗口,’w’移到前一個(gè)窗口。用’g’命令你可以輸入一個(gè)數(shù)字來選擇當(dāng)前窗口。

          2.4 ‘B’: 觸發(fā)粗體顯示

          一些重要信息會(huì)以加粗字體顯示。這個(gè)命令可以切換粗體顯示。

          2.5 ‘d’ 或‘s’: 設(shè)置顯示的刷新間隔

          當(dāng)按下’d’或’s’時(shí),你將被提示輸入一個(gè)值(以秒為單位),它會(huì)以設(shè)置的值作為刷新間隔。如果你這里輸入了 1,top 將會(huì)每秒刷新。

          2.6 ‘l’、‘t’、‘m’: 切換負(fù)載、任務(wù)、內(nèi)存信息的顯示

          這會(huì)相應(yīng)地切換頂部的平均負(fù)載、任務(wù)/CPU 狀態(tài)和內(nèi)存信息的概況顯示。

          不顯示平均負(fù)載



          不顯示 CPU 概況


          不顯示內(nèi)存和交換內(nèi)存概況


          上面三個(gè)全不顯示


          2.7 ‘f’: 字段管理

          用于選擇你想要顯示的字段。用’*’標(biāo)記的是已選擇的。

          管理顯示列


          上下光標(biāo)鍵在字段內(nèi)導(dǎo)航,左光標(biāo)鍵可以選擇字段,回車或右光標(biāo)鍵確認(rèn)。

          按'<‘移動(dòng)已排序的字段到左邊,’>’則移動(dòng)到右邊。

          2.8 ‘R’: 反向排序

          切換反向/常規(guī)排序。

          2.9 ‘c’: 觸發(fā)命令

          切換是否顯示進(jìn)程啟動(dòng)時(shí)的完整路徑和程序名。

          完整命令路徑

          2.10 ‘i’: 空閑任務(wù)

          切換顯示空閑任務(wù)。

          不顯示空閑命令

          2.11 ‘V’: 樹視圖

          切換樹視圖。

          樹視圖

          2.12 ‘Z’: 改變配色

          按下’Z’向用戶顯示一個(gè)改變 top 命令的輸出顏色的屏幕。可以為 8 個(gè)任務(wù)區(qū)域選擇 8 種顏色。

          定制顏色

          下面顯示的是 4 中顏色顯示的 top 視圖。

          彩色顯示

          2.13 ‘z’: 切換彩色顯示

          切換彩色,即打開或關(guān)閉彩色顯示。

          2.14 ‘x’ 或者 ‘y’

          切換高亮信息:

          ’x’將排序字段高亮顯示(縱列)

          ’y’將運(yùn)行進(jìn)程高亮顯示(橫行)

          依賴于你的顯示設(shè)置,你可能需要讓輸出彩色來看到這些高亮。


          X 和 Y高亮

          2.15 ‘u’: 特定用戶的進(jìn)程

          顯示特定用戶的進(jìn)程。你會(huì)被提示輸入用戶名。空白將會(huì)顯示全部用戶。

          raghu 的進(jìn)程

          2.16 ‘n’ 或 ‘#’: 任務(wù)的數(shù)量

          設(shè)置最大顯示的任務(wù)數(shù)量

          設(shè)置最大顯示的任務(wù)數(shù)量

          2.17 ‘k’: 結(jié)束任務(wù)

          top 命令中最重要的一個(gè)命令之一。用于發(fā)送信號(hào)給任務(wù)(通常是結(jié)束任務(wù))。

          殺死一個(gè)任務(wù)

          2.18 ‘r’: 重新設(shè)置優(yōu)先級(jí)

          重新設(shè)置一個(gè)任務(wù)的調(diào)度優(yōu)先級(jí)。

          3. 命令行選項(xiàng)

          這些命令行選項(xiàng)與上面討論的命令大多相同。top 的輸出可以用命令交互操作,但是你也可以帶參數(shù)運(yùn)行top來設(shè)置你想要的效果。

          3.1 -b: 批處理模式

          -b 選項(xiàng)以批處理模式啟動(dòng) top 命令。當(dāng)你想要在文件中保存輸出時(shí)是很有用的。

          3.2 -c: 命令/程序名 觸發(fā)

          如上面所討論到的命令,這個(gè)選項(xiàng)會(huì)以上次記住的程序/命令顯示的狀態(tài)顯示(是否顯示完整路徑)。

          3.3 -d: 設(shè)置延遲間隔

          設(shè)置 top 的顯示間隔(以秒計(jì))。比如:

          $ top -d 1

          將會(huì)以1秒的刷新間隔啟動(dòng) top。

          3.4 -i: 切換顯示空閑進(jìn)程

          這個(gè)選項(xiàng)設(shè)置 top 命令的上一次記住的相反的‘i’狀態(tài)。

          3.5 -n: 設(shè)置迭代數(shù)量

          用 -n 選項(xiàng),你可以設(shè)置 top 退出前迭代的次數(shù)。

          $ top -n 3

          將會(huì)在刷新輸出 3 次后退出。

          3.6 -p: 監(jiān)控特定的 PID

          你可以用 -p 選項(xiàng)監(jiān)控指定的 PID。PID 的值為 0 將被作為 top 命令自身的 PID。

          3.7 -u 或 -U: 用戶名 或者 UID

          可以用這些選項(xiàng)瀏覽特定用戶的進(jìn)程。用戶名或者 UID 可以在選項(xiàng)中指定。-p、-u和 -U 選項(xiàng)是互斥的,同時(shí)只可以使用這其中一個(gè)選項(xiàng)。當(dāng)你試圖組合使用這些選項(xiàng)時(shí),你會(huì)得到一個(gè)錯(cuò)誤:

          $ top -p 28453 -u raghu

          top: conflicting process selections (U/p/u)

          推薦閱讀

          你不得不知的 top 命令技巧

          4 個(gè)使用率非常高的 Linux 監(jiān)控工具

          超全整理!Linux 性能分析工具匯總

          6 個(gè) JVM 性能監(jiān)控、調(diào)優(yōu)工具使用詳解!

          挺帶勁,這款國(guó)人開源的監(jiān)控系統(tǒng)真強(qiáng)大~

          瀏覽 42
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产在线视频你懂的 | 黄片在线免费观看视频 | 区在线观看| 午夜操一操精品 | 高潮喷水不止视频 |