目錄
一:top簡(jiǎn)介
二:?jiǎn)?dòng)TOP
2.1第一行含義
2.2第二行含義
2.3第三行含義
2.4第四行含義
2.5第五行含義
2.6第六行含義
?三:top常用按鍵
3.1按 Z 鍵更改輸出的顏色。我發(fā)現(xiàn)這讓輸出更容易被眼睛看到?
3.2?按1鍵可查看系統(tǒng)上每個(gè) CPU 內(nèi)核的圖形表示。反復(fù)按1以評(píng)估 CPU 內(nèi)核的內(nèi)核統(tǒng)計(jì)信息
3.3P 鍵:根據(jù)CPU使用百分比大小進(jìn)行排序
3.4M 鍵:根據(jù)駐留內(nèi)存大小進(jìn)行排序
3.5N 鍵:根據(jù)啟動(dòng)時(shí)間進(jìn)行排序
3.6c鍵:切換顯示命令名稱和完整命令行
3.7h 鍵:可以獲得 top程序的在線幫助信息
3.8k 鍵:根據(jù)提示輸入指定進(jìn)程的 PID 號(hào)并按 Enter 鍵終止對(duì)應(yīng)的進(jìn)程?
3.9q 鍵:退出 top 程序
四:top參數(shù)及有用的top選項(xiàng)
4.1如果只查找由特定用戶啟動(dòng)的進(jìn)程,則可以使用以下?-u?選項(xiàng)獲取該信息
4.2要獲取系統(tǒng)上的空閑進(jìn)程列表,請(qǐng)使用以下?-i?選項(xiàng)
4.3更新間隔設(shè)置為以秒為單位的任意值。默認(rèn)值為 3 秒。像這樣將其更改為 5
4.4用 top 定位一個(gè)進(jìn)程
4.5擴(kuò)展參數(shù)
五:一些關(guān)于top命令的實(shí)用案例
5.1獲取要監(jiān)控的本地服務(wù)器ip地址
5.2獲取用戶空間占用CPU百分比
5.3獲取內(nèi)核空間占用CPU百分比
5.4獲取空閑CPU百分比
5.5獲取等待輸入輸出占CPU百分比
5.6用stress進(jìn)行壓力測(cè)試
5.7用dd?if壓力測(cè)試,查看內(nèi)存的使用率
六:htop
6.1安裝htop
6.2htop主要有三個(gè)部分
6.3htop?linux進(jìn)程監(jiān)控
6.4atop
6.5nmon
一:top簡(jiǎn)介
當(dāng)我檢查 Linux 系統(tǒng)(或者甚至對(duì)運(yùn)行其他操作系統(tǒng)的計(jì)算機(jī)進(jìn)行故障排除)時(shí),我經(jīng)常使用 top 命令來檢查系統(tǒng)的 RAM 和 CPU 占用率。它為我提供了評(píng)估計(jì)算機(jī)整體健康狀況的信息。我在 Linux 之旅的早期就了解了 top 命令,并依靠它讓我快速了解服務(wù)器或其他 Linux 系統(tǒng)(包括 Raspberry Pi)上正在發(fā)生的事情。但 top 命令遠(yuǎn)比人們看到的要復(fù)雜得多。根據(jù)其手冊(cè)頁,top 程序提供了正在運(yùn)行的系統(tǒng)的動(dòng)態(tài)實(shí)時(shí)視圖。它可以顯示系統(tǒng)摘要信息以及當(dāng)前由 Linux 內(nèi)核管理的進(jìn)程或線程列表
二:?jiǎn)?dòng)TOP
2.1第一行含義
top:當(dāng)前系統(tǒng)時(shí)間
up:系統(tǒng)已經(jīng)運(yùn)行的時(shí)間
users:當(dāng)前登錄用戶
load?average:系統(tǒng)平均負(fù)載?每1分鐘 5分鐘 15分鐘
2.2第二行含義
total:進(jìn)程總數(shù)
running:正在運(yùn)行的進(jìn)程
sleeping:處于睡眠的進(jìn)程
stopped:終止的進(jìn)程數(shù)
zombie:僵尸進(jìn)程數(shù)
2.3第三行含義
%cpu(s):cpu占用
us:用戶空間占用cpu%
sy:內(nèi)核空間占用cpu%?
?ni:用戶進(jìn)程空間內(nèi)改變優(yōu)先級(jí)的進(jìn)程占用cpu%
id:空閑cpu%
wa:等待輸入輸出的cpu時(shí)間%
hi:硬中斷占用
si:軟中斷占用
st:虛擬化占用
2.4第四行含義
KiB?Mem:內(nèi)存占用
total:物理內(nèi)存總量
free:空閑內(nèi)存總量
used:已使用的物理內(nèi)存總量
buff/cache:內(nèi)核緩存的內(nèi)存量
2.5第五行含義
KiB Swap:交換空間占用
total:交換區(qū)總量
free:空閑交換區(qū)總量
used:已使用的交換區(qū)總量
avail Mem:緩沖的交換區(qū)總量
2.6第六行含義
PID:進(jìn)程id
USER:進(jìn)程所有者的用戶名
PR:優(yōu)先級(jí)
NI:謙讓度值。負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)
VIRT:進(jìn)程使用的虛擬內(nèi)存總量,單位kb
RES:進(jìn)程使用的物理內(nèi)存大小,單位kb
SHR:共享內(nèi)存大小,單位kb
S:進(jìn)程狀態(tài)
%CPU:上次更新到現(xiàn)在的CPU時(shí)間占用百分比
%MEM:進(jìn)程使用的物理內(nèi)存百分比
TIME+:進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒
COMMAND :命令名/命令行
三:top常用按鍵
3.1按 Z 鍵更改輸出的顏色。我發(fā)現(xiàn)這讓輸出更容易被眼睛看到?
3.2?按1鍵可查看系統(tǒng)上每個(gè) CPU 內(nèi)核的圖形表示。反復(fù)按1以評(píng)估 CPU 內(nèi)核的內(nèi)核統(tǒng)計(jì)信息
3.3P 鍵:根據(jù)CPU使用百分比大小進(jìn)行排序
3.4M 鍵:根據(jù)駐留內(nèi)存大小進(jìn)行排序
3.5N 鍵:根據(jù)啟動(dòng)時(shí)間進(jìn)行排序
3.6c鍵:切換顯示命令名稱和完整命令行
3.7h 鍵:可以獲得 top程序的在線幫助信息
3.8k 鍵:根據(jù)提示輸入指定進(jìn)程的 PID 號(hào)并按 Enter 鍵終止對(duì)應(yīng)的進(jìn)程?
3.9q 鍵:退出 top 程序
四:top參數(shù)及有用的top選項(xiàng)
top -d:number代表秒數(shù) 默認(rèn)5秒 刷新一次
top -b:以批次的方式執(zhí)行top
top -b: ‘批量模式’,用來將輸出重定向到指定文件,一般配合-n 指定輸出幾次統(tǒng)計(jì)信息
[root@localhost ~]# top -n 3 -b > /tmp/top.tmp
top -c: 顯示產(chǎn)生進(jìn)程的完成命令
top -p: 指定pid 多個(gè)pid以‘逗號(hào)’分開,只顯示指定pid進(jìn)程的狀態(tài)
top -i:獲取系統(tǒng)上的空閑進(jìn)程列表
top -n 3:將會(huì)在刷新輸出3次后退出
4.1如果只查找由特定用戶啟動(dòng)的進(jìn)程,則可以使用以下?-u?選項(xiàng)獲取該信息
4.2要獲取系統(tǒng)上的空閑進(jìn)程列表,請(qǐng)使用以下?-i?選項(xiàng)
4.3更新間隔設(shè)置為以秒為單位的任意值。默認(rèn)值為 3 秒。像這樣將其更改為 5
4.4用 top 定位一個(gè)進(jìn)程
按Shift+l 按名稱查找進(jìn)程。這會(huì)在粗體表標(biāo)題行上方創(chuàng)建1一個(gè)提示。輸入您要查找的進(jìn)程的名稱,然后按Enter或Return以查看在新排序的進(jìn)程列表中高亮顯示該進(jìn)程的實(shí)例
4.5擴(kuò)展參數(shù)
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)程的頁錯(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)存信息的概況顯示?! ?
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命令的輸出顏色的屏幕??梢詾?個(gè)任務(wù)區(qū)域選擇8種顏色。
下面顯示的是4中顏色顯示的top視圖。
2.13 ‘z’: 切換彩色顯示
切換彩色,即打開或關(guān)閉彩色顯示。
2.14 ‘x’ 或者 ‘y’
切換高亮信息:'x'將排序字段高亮顯示(縱列);'y'將運(yùn)行進(jìn)程高亮顯示(橫行)。依賴于你的顯示
設(shè)置,你可能需要讓輸出彩色來看到這些高亮。
2.15 ‘u’: 特定用戶的進(jìn)程
顯示特定用戶的進(jìn)程。你會(huì)被提示輸入用戶名??瞻讓?huì)顯示全部用戶。
2.16 ‘n’ 或 ‘#’: 任務(wù)的數(shù)量
設(shè)置最大顯示的任務(wù)數(shù)量
2.17 ‘k’: 結(jié)束任務(wù)
top命令中最重要的一個(gè)命令之一。用于發(fā)送信號(hào)給任務(wù)(通常是結(jié)束任務(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)瀏覽
五:一些關(guān)于top命令的實(shí)用案例
5.1獲取要監(jiān)控的本地服務(wù)器ip地址
ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'
5.2獲取用戶空間占用CPU百分比
top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d "%"
5.3獲取內(nèi)核空間占用CPU百分比
top -b -n 1 | grep Cpu | awk '{print $4}' | cut -f 1 -d "%"
5.4獲取空閑CPU百分比
top -b -n 1 |grep "%Cpu" |awk -F" " '{print $8}'
5.5獲取等待輸入輸出占CPU百分比
top -b -n 1 | grep "%Cpu" | awk -F" " '{print $10}'
5.6用stress進(jìn)行壓力測(cè)試
stress --cpu 2 --timeout 600
對(duì)2個(gè)cpu增壓,持續(xù)時(shí)間600s
解決方法:殺掉相關(guān)進(jìn)程
5.7用dd?if壓力測(cè)試,查看內(nèi)存的使用率
測(cè)試前,查看cpu和內(nèi)存使用率
?模擬持續(xù)輸入文件,測(cè)試CPU和內(nèi)存的抗壓能力
壓力測(cè)試后,CPU和內(nèi)存的使用率
找到CPU占用率較高的進(jìn)程并終止(可以在top操作界面中按k鍵,然后在列表上方將會(huì)出現(xiàn)"PID to signal/kill [default pid =56779]:”的提示信息,根據(jù)提示輸入指定進(jìn)程的 PID 號(hào)并按 Enter 鍵,出現(xiàn)"send pid 14195signal [15/sigterm]"的二次確認(rèn)的提示信息,然后按Enter鍵確認(rèn)即可終止對(duì)應(yīng)的進(jìn)程。)
查看,發(fā)現(xiàn)內(nèi)存已占滿?
查看磁盤占用空間,尋找出問題文件夾?
刪除問題文件
解決問題后,再次查看cpu和內(nèi)存的使用率,恢復(fù)正常?
六:htop
htop是 Linux/類 Unix 系統(tǒng)的交互式實(shí)時(shí)進(jìn)程監(jiān)控應(yīng)用程序,也是top 命令的便捷替代品,?top 命令是所有 Linux 操作系統(tǒng)上預(yù)裝的默認(rèn)進(jìn)程監(jiān)控工具?
Htop還有許多其他用戶友好的功能,這些功能在top 命令下不可用,它們是:
- 在 htop 中,可以垂直滾動(dòng)查看完整進(jìn)程列表,水平滾動(dòng)查看完整命令行。
- 與top相比,它啟動(dòng)得非???,?因?yàn)樗趩?dòng)期間不等待獲取數(shù)據(jù)。
- 在 htop 中,您可以一次殺死多個(gè)進(jìn)程而無需插入其 PID。
- 在 htop 中,您不再需要輸入進(jìn)程號(hào)或優(yōu)先級(jí)值來重新優(yōu)化進(jìn)程。
- 按“e”打印進(jìn)程的環(huán)境變量集。使用鼠標(biāo)選擇列表項(xiàng)
6.1安裝htop
yum install -y epel-release
yum install htop
或者編譯安裝
wget-Ohtop-3.0.5.tar.gz https://github.com/htop-dev/htop/archive/refs/tags/3.0.5.tar.gz
tar xvfvz htop-3.0.5.tar.gz
cd htop-3.0.5/
./configure
make
make install
6.2htop主要有三個(gè)部分
?標(biāo)題,我們可以在其中看到CPU、內(nèi)存Memory、交換Swap等信息,還顯示任務(wù)Tasks,??平均負(fù)載load average和正常運(yùn)行時(shí)間Uptime。
?按CPU利用率排序的進(jìn)程列表。
頁腳顯示了不同的選項(xiàng),如help、setup、filter?tree?kill、nice、quit等?
6.3htop?linux進(jìn)程監(jiān)控
按F2或S進(jìn)入設(shè)置菜單 > 有四列,即設(shè)置Setup、左列Left Column、右列Right Column和可用儀表Available Meters。
在這里,您可以配置打印在窗口頂部的儀表、設(shè)置各種顯示選項(xiàng)、在顏色模式中進(jìn)行選擇以及選擇以何種順序打印哪些列
6.4atop
atop 正在運(yùn)行的進(jìn)程或以前正在運(yùn)行進(jìn)程的詳細(xì)信息它還支持永久記錄資源利用率?
yum install atop -y
?
參數(shù):
在atop的展示頁面也可以輸入m(內(nèi)存)、p(進(jìn)程)、u(用戶)、d(磁盤)、c(進(jìn)程運(yùn)行的代碼)、v(線程) 進(jìn)行頁面切換
Launch with average-per-second total values以平均每秒總值啟動(dòng):atop -1
Launch with active processes only僅使用活動(dòng)進(jìn)程啟動(dòng):atop -a
Launch with command line per process每個(gè)進(jìn)程用命令行啟動(dòng):atop -c
Launch with disk info 使用磁盤信息啟動(dòng):atop -d
Launch with memory info使用內(nèi)存信息啟動(dòng):atop -m
Launch with network info使用網(wǎng)絡(luò)信息啟動(dòng):atop -n
Launch with scheduling info使用計(jì)劃信息啟動(dòng):atop -s
Launch with various info (ppid, user, time)發(fā)布各種信息(ppid、用戶、時(shí)間):atop -v
Launch with individual threads使用單個(gè)線程啟動(dòng):atop -y
6.5nmon
?以控制分解信息并根據(jù)需要逐一顯示(切換)信息文章來源:http://www.zghlxwxcb.cn/news/detail-781643.html
yum install nmon -y
?文章來源地址http://www.zghlxwxcb.cn/news/detail-781643.html
到了這里,關(guān)于優(yōu)化命令之top——實(shí)時(shí)顯示進(jìn)程動(dòng)態(tài)/查看進(jìn)程信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!