欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux top命令詳解

 更新時間:2018年02月24日 14:02:35   作者:sparkdev  
這篇文章主要介紹了linux top命令詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

top 命令主要用于查看進程的相關(guān)信息,同時它也會提供系統(tǒng)平均負載,cpu 信息和內(nèi)存信息。下面的截圖展示了 top 命令默認提供的信息:

系統(tǒng)平均負載

top 命令輸出中的第一行是系統(tǒng)的平均負載,這和 uptime 命令的輸出是一樣的:

13:05:49 表示系統(tǒng)當前時間。
up 7 days 表示系統(tǒng)最后一次啟動后總的運行時間。
1 user 表示當前系統(tǒng)中只有一個登錄用戶。
load average: 0.01, 0.04, 0.00 表示系統(tǒng)的平均負載,最后的三個數(shù)字分別表示最后一分鐘的系統(tǒng)平均負載,最后五分鐘的系統(tǒng)平均負載,最后十五分鐘的系統(tǒng)平均負載。

小寫字母 i 可以控制是否顯示系統(tǒng)平均負載信息。

任務信息匯總

在 linux 系統(tǒng)中,一般把進程和線程統(tǒng)稱為任務。第二行信息是對當前系統(tǒng)中所有任務的統(tǒng)計:

Tasks:270 total 表示當前系統(tǒng)的進程總數(shù)。
1 running 表示當前系統(tǒng)中有 1 個正在運行的進程。
269 sleeping 表示當前系統(tǒng)中有 269 個休眠的進程。
0 stopped 表示停止狀態(tài)的進程數(shù)為 0。
0 zombie 表示處于僵死狀態(tài)的進程數(shù)為 0。

CPU 信息

第三行顯示 CPU 的使用情況:

這里一共有八個字段,是我們了解 CPU 負載的主要依據(jù),下面我們逐一介紹。

us

進程在用戶地址空間中消耗 CPU 時間的百分比。像 shell程序、各種語言的編譯器、數(shù)據(jù)庫應用、web 服務器和各種桌面應用都算是運行在用戶地址空間的進程。這些程序如果不是處于 idle 狀態(tài),那么絕大多數(shù)的 CPU 時間都是運行在用戶態(tài)。

sy

進程在內(nèi)核地址空間中消耗 CPU 時間的百分比。所有進程要使用的系統(tǒng)資源都是由 Linux 內(nèi)核處理的。當處于用戶態(tài)(用戶地址空間)的進程需要使用系統(tǒng)的資源時,比如需要分配一些內(nèi)存、或是執(zhí)行 IO 操作、再或者是去創(chuàng)建一個子進程,此時就會進入內(nèi)核態(tài)(內(nèi)核地址空間)運行。事實上,決定進程在下一時刻是否會被運行的進程調(diào)度程序就運行在內(nèi)核態(tài)。對于操作系統(tǒng)的設計來說,消耗在內(nèi)核態(tài)的時間應該是越少越好。在實踐中有一類典型的情況會使 sy 變大,那就是大量的 IO 操作,因此在調(diào)查 IO 相關(guān)的問題時需要著重關(guān)注它。

ni

ni 是 nice 的縮寫,可以通過 nice 值調(diào)整進程用戶態(tài)的優(yōu)先級。這里顯示的 ni 表示調(diào)整過 nice 值的進程消耗掉的 CPU 時間。如果系統(tǒng)中沒有進程被調(diào)整過 nice 值,那么 ni 就顯示為 0。

id

CPU 處于 idle 狀態(tài)的百分比。一般情況下, us + ni + id 應該接近 100%。

wa

CPU 等待磁盤 IO 操作的時間。和 CPU 的處理速度相比,磁盤 IO 操作是非常慢的。有很多這樣的操作,比如:CPU 在啟動一個磁盤讀寫操作后,需要等待磁盤讀寫操作的結(jié)果。在磁盤讀寫操作完成前,CPU 只能處于空閑狀態(tài)。Linux 系統(tǒng)在計算系統(tǒng)平均負載時會把 CPU 等待 IO 操作的時間也計算進去,所以在我們看到系統(tǒng)平均負載過高時,可以通過 wa 來判斷系統(tǒng)的性能瓶頸是不是過多的 IO 操作造成的。

hi & si

這兩個值表示系統(tǒng)處理中斷消耗的時間。中斷分為硬中斷和軟中斷,hi 表示處理硬中斷消耗的時間,si 表示處理軟中斷消耗的時間。硬中斷是硬盤、網(wǎng)卡等硬件設備發(fā)送給 CPU 的中斷消息,當 CPU 收到中斷消息后需要進行適當?shù)奶幚?消耗 CPU 時間)。軟中斷是由程序發(fā)出的中斷,最終也會執(zhí)行相應的處理程序(消耗 CPU 時間)。

st

只有 Linux 在作為虛擬機運行時 st 才是有意義的。它表示虛機等待 CPU 資源的時間(虛機分到的是虛擬 CPU,當需要真實的 CPU 時,可能真實的 CPU 正在運行其它虛機的任務,所以需要等待)。

小寫字母 t 可以控制是否顯示任務信息匯總和 CPU 信息。沒錯,它能控制是否顯示兩行信息。

內(nèi)存信息

內(nèi)存信息包含兩行內(nèi)容,內(nèi)存和交換空間:

top 命令中這部分的輸出和 free 命令的輸出基本相同,筆者在《linux free 命令》一文已經(jīng)詳細介紹過,這里不再贅述。

控制顯示單位

top 命令默認以 K 為單位顯示內(nèi)存大小,這讓人十分抓狂。好在我們可以通過大寫字母 E 來切換內(nèi)存信息區(qū)域的顯示單位(注意,E 不能控制任務區(qū)域中的內(nèi)存單位),下圖以 GB 顯示內(nèi)存大?。?/p>

小寫字母 m 可以控制是否顯示內(nèi)存信息。

任務詳情

內(nèi)存信息下面是一個空行(其實是與用戶交互的區(qū)域),空行的下面就是任務詳情區(qū)域:

默認情況下這里會顯示 12 列數(shù)據(jù),都是我們比較關(guān)心的進行相關(guān)的信息,下面我們一個一個的介紹。
PID 表示進程 ID。
USER 表示進程所有者的有效用戶名稱。簡單說就是以哪個用戶權(quán)限啟動的進程。比如上圖中有兩個進程是用戶 nick 啟動的,還有一個是用戶 prometheus 啟動的,其它都是 root 用戶啟動的。
PR 表示進程執(zhí)行的優(yōu)先級,PR 的值是以 Linux 內(nèi)核的視角看到的進程執(zhí)行的優(yōu)先級。
NI 從用戶視角看到的進程執(zhí)行優(yōu)先級。注意上圖中 NI 值為 -20 的兩個進程,它們的 PR 值都是 0。
VIRT 表示進程使用的虛擬內(nèi)存大小。
RES 表示進程使用的物理內(nèi)存大小。
SHR 表示進程使用的共享內(nèi)存的大小。
S 表示進程當前的狀態(tài)。S 值有下面幾種:
  D 不可中斷的睡眠狀態(tài)(uninterruptible sleep)
  R 正在運行的狀態(tài)(running)
  S 睡眠狀態(tài)(sleeping)
  T 跟蹤或停止狀態(tài)(traced or stopped)
  Z 僵尸狀態(tài)(zombie)
%CPU 表示進程使用 CPU 的百分比。
%MEM 表示進程使用內(nèi)存的百分比。
TIME+ 表示進程累計使用的 CPU 時間。
COMMAND 表示運行進程對應的程序。

一般情況下這些信息足夠了,但是如果你還想要更多的信息,你可以嘗試添加更多的列。按下小寫字母 f 可以進入任務信息的配置界面:

在這里你可以選擇要顯示的列,并且可以配置以哪一列進行排序。

顯示內(nèi)存大小的單位問題在任務詳情區(qū)域也同樣存在,默認的單位也是 KB。要改變它的單位需要使用小寫字母 e 來進行切換,比如我可以把它切換為以 MB 為單位:

這樣看起來就直觀多了!

top 是一個非常復雜的命令,上面介紹的內(nèi)容僅僅是一些皮毛而已。即便如此,你也可以用它來干不少的事情了!如果你想了解更多詳細的信息,請參考 top 的使用手冊。我們接下來介紹一些常見的用例。

顯示多個 CPU 核心的詳細信息

無論系統(tǒng)中有多少個 CPU 核心,默認的 CPU 信息總是輸出一行,即所有核心加起來的綜合數(shù)據(jù)。能不能查看各個 CPU 核心單獨的數(shù)據(jù)呢?答案是,可以的。按鍵盤上的數(shù)字 1 就可以在不同的視圖之間切換了:

以某列對進程排序

按小寫字母 f 進入排序設置界面,選擇某一列,按小寫 's' 指定排序,然后退出。

奇怪的是默認主界面上并看不出是以哪列排序的!可以使用小寫字母 x 來粗體顯示當前排序的列:

可以看到 %CPU 列的字體加粗了嗎?雖然不太明顯,但勉強可以看到了。
還有一些預定義的命令可以直接完成以某列排序的功能,比如大寫字母 M 以 %MEM 列排序;大寫字母 N 以 PID 列排序;大寫字母 P 以 %CPU 列排序;大寫字母 T 以 TIME+ 列排序。
M %MEM
N PID
P %CPU
T TIME+

反轉(zhuǎn)排序的結(jié)果是常見的需求,大寫字母 R 可以將當期排序的結(jié)果反轉(zhuǎn)。

顯示進程執(zhí)行的完整命令

默認 COMMAND 列只顯示程序的名字,并不包含程序的路徑。有時能夠看到程序的完整路徑是很方便的。你可以通過小寫字母 c 來切換 COMMAND 列的顯示模式:

不僅是程序的完整路徑,連啟動程序的參數(shù)都顯示出來了!

隱藏 idle 的進程

在我們調(diào)查問題時,總希望以最快的方式找到繁忙的進程。但是 top 命令會把所有的進程列出,這就需要我們通過昏花的老眼去掃描一行行的進程信息。還好,我們可以借助小寫字母 i 來控制是否顯示處于 idle 狀態(tài)的進程!使用這個命令后你會發(fā)現(xiàn)世界好清爽啊!

只顯示某個用戶的進程

如果你想查看以某個用戶權(quán)限啟動的進程,可以使用小寫字母 u 。這會提示你輸入用戶的名稱,在你輸入用戶名稱后,按回車鍵:

上圖中筆者輸入的用戶名為 nick,按回車鍵后就會過濾出所有以用戶 nick 權(quán)限啟動的進程。

top 命令的配置文件

top 命令是有配置文件的,也就是說你通過命令修改的配置都可以保存下來。保存配置的命令為大寫字母 W。在你修改了 top 命令的配置后按下大寫字母 W,然后退出 top 命令并再次執(zhí)行 top 命令,此時你的修改仍然在起作用。

幫助文檔

幫助文檔永遠都是我們的好朋友,小寫字母 h 或者是 ? 可以打開 top 命令的幫助文檔。不要太驚奇,文檔有點長喲!

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在麒麟V10服務器上編譯安裝Storm的詳細過程

    在麒麟V10服務器上編譯安裝Storm的詳細過程

    這篇文章主要介紹了在麒麟V10服務器上編譯安裝Storm的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Linux間如何建立ssh互信

    Linux間如何建立ssh互信

    Linux系統(tǒng)之間建立SSH互信,可以免密碼遠程登錄,首先,在本地生成SSH密鑰對,包括私鑰id_rsa和公鑰id_rsa.pub,然后,將公鑰復制到遠程計算機的~/.ssh/authorized_keys文件中,這需要使用ssh-copy-id命令,并輸入遠程計算機的ssh端口
    2024-10-10
  • Linux下的crontab定時執(zhí)行任務命令詳解

    Linux下的crontab定時執(zhí)行任務命令詳解

    cron的配置文件稱為“crontab”,是“cron table”的簡寫。這篇文章主要介紹了Linux下的crontab定時執(zhí)行任務命令詳解,需要的朋友可以參考下
    2018-09-09
  • Ubuntu18.04安裝Python虛擬環(huán)境

    Ubuntu18.04安裝Python虛擬環(huán)境

    這篇文章主要介紹了Ubuntu18.04安裝Python虛擬環(huán)境的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • 每天一個linux命令(30): chown命令詳解

    每天一個linux命令(30): chown命令詳解

    本篇文章主要介紹了linux chown命令。chown將指定文件的擁有者改為指定的用戶或組,感興趣的朋友可以了解一下。
    2016-11-11
  • 怎么修改Ubuntu的源列表(source list)詳解

    怎么修改Ubuntu的源列表(source list)詳解

    這篇文章主要給大家介紹了關(guān)于如何修改Ubuntu的源列表(source list)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Ubuntu刪除多余內(nèi)核的方法

    Ubuntu刪除多余內(nèi)核的方法

    這篇文章主要介紹了Ubuntu刪除多余內(nèi)核的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • linux系統(tǒng)下oracle11gR2靜默安裝的經(jīng)驗分享

    linux系統(tǒng)下oracle11gR2靜默安裝的經(jīng)驗分享

    這篇文章主要介紹了linux系統(tǒng)下oracle11gR2靜默安裝的經(jīng)驗, 所有操作無需使用圖形界面. 靜默安裝能減少安裝出錯的可能性, 也能大大加快安裝速度。有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 解決Ubuntu 18.04安裝VMwareTools錯誤問題

    解決Ubuntu 18.04安裝VMwareTools錯誤問題

    這篇文章主要介紹了Ubuntu 18.04安裝VMwareTools錯誤的解決方法,需要的朋友可以參考下
    2019-11-11
  • ssh報錯no key alg的解決方法(關(guān)于低版本連接高版本ssh)

    ssh報錯no key alg的解決方法(關(guān)于低版本連接高版本ssh)

    這篇文章主要介紹了ssh報錯no key alg(關(guān)于低版本連接高版本ssh),通過ssh-keygen命令重新生成ssh主機秘鑰,可以不用重啟sshd服務,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2023-07-07

最新評論