一、top
top命令用於顯示系統當前的進程和其他狀況;top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態。如果再前臺執行該命令,它將獨佔前臺,直到用戶終止該程序爲止。
其中1-5行爲統計信息區,剩餘行爲進程信息區;
1.統計信息區
1)第1行爲任務隊列信息(與uptime命令運行結果相同)
字段含義:當前時間 系統啓動持續時間 當前登陸用戶數 系統負載,即任務隊列的平均長度備註:格式爲"日期,時:分" 三個數值分別爲1,5和15分鐘前到現在的均值
2)第2行爲進程信息
字段含義: 進程總數 正在運行的進程數 睡眠的進程數 已停止的進程數 僵死進程數
3)第3行爲CPU信息
字段含義:us----用戶空間佔用CPU百分比;
sy----內核空間佔用CPU百分比;
ni----用戶進程空間內改變過優先級的進程佔用CPU百分比
id----空閒CPU百分比
wa--等待io完成的CPU時間百分比
hi----硬件中斷
si----軟中斷(模式切換)
st----被偷走的cpu時間比例
4)第4行爲內存信息
字段含義:total----物理內存總量
used----使用的物理內存總量
free-----空閒內存總量
buffers--用作內核緩存的內存量
5)第5行爲交換區swap的信息
字段含義:total----交換分區總量
used---已使用的交換區總量
free----空閒交換區總量
cached--緩衝的交換去總量
2.進程信息區
進程信息區詳細列出了各進程的詳細信息,其中每行代表一個進程;每列的含義如下:
列信息
信息內容:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND
字段含義: PID----進程id
USER--進程所有者的用戶名
PR-----進程的優先級
NI------nice值,負值表示更高的優先級,正值表示低優先級
VIRT---進程使用的虛擬內存總量,單位爲kb。
RES----進程使用的、未被換出的物理內存的大小,單位爲kb。
SHR---共享內存的大小,單位爲kb
S-------進程狀態
D---不可中斷的睡眠狀態
R---運行
S---睡眠
T---跟蹤/停止
Z---殭屍進程
%CPU--上次更新到現在的CPU時間佔用比
%MEM--進程使用的物理內存百分比
TIME ---進程使用的CPU時間總計,單位爲1/100秒
COMMAND---命令行/命令名
備 注:以上顯示的內容只是top命令的一部分內容,還有其他列,信息如下:
SWAP----進程使用的虛擬內存中,被換出的大小
CODE---可執行代碼佔用的物理內存大小,單位爲kb
DATA----可執行代碼以外的部分(數據段 棧)佔用的物理內存大小,單位爲kb
PPID------父進程ID
RUSER----real user name
UID--------進程所有者的用戶id
GROUP--進程所有者的組名
TTY--------啓動進程的終端名,不是從終端啓動的進程則顯示爲?
#C--------Last used CPU (SMP)
TIME------進程使用的CPU時間總計,單位秒
nFLT------頁面錯誤次數
nDRT-----最後一次寫入到現在,被修改過的頁面數
WCHAN--若該進程在睡眠,則顯示睡眠中的系統函數名
Flags-----任務標誌,參照sched.h
更改顯示列的方法:
a)通過f鍵可以選擇顯示的內容,按f鍵後會顯示列的列表,按a-z即可顯示或隱藏對應的列,最後按回車鍵確定;
b)按o鍵可以改變列的顯示順序。按小寫的a-z可以將相應的列向右移動,而大寫的A-Z可以將相應的列向左移動。最後按回車鍵確定;
c)按大寫F或O鍵,然後按a-z可以將進程按照相應的列進行排序。而大寫的R鍵可以將當前的排序倒轉;
二、htop
2.1、htop 簡介
htop 是Linux系統中的一個互動的進程查看器,一個文本模式的應用程序(在控制檯或者X終端中)。
與Linux傳統的top相比,htop更加人性化。它可讓用戶交互式操作,支持顏色主題,可橫向或縱向滾動瀏覽進程列表,並支持鼠標操作。
與top相比,htop有以下優點:
可以橫向或縱向滾動瀏覽進程列表,以便看到所有的進程和完整的命令行。
在啓動上,比top 更快。
殺進程時不需要輸入進程號。
htop 支持鼠標操作。
top 已經很老了。
2.2、htop安裝
[root@pyhon ~]# yum install -y htop #配置epel源後安裝htop
2.3、htop參數
上面左上角顯示CPU、內存、交換區的使用情況,右邊顯示任務、負載、開機時間,下面就是進程實時狀況。
下面是 F1~F10 的功能和對應的字母快捷鍵。
F1 | 查看htop使用說明 |
F2 | htop 設定 |
F3 | 搜索進程 |
F4 | 增量進程過濾器 |
F5 | 顯示樹形結構 |
F6 | 選擇排序方式 |
F7 | 可減少nice值,這樣就可以提高對應進程的優先級 |
F8 | 可增加nice值,這樣就可以降低對應進程的優先級 |
F9 | 可對進程傳遞信號 |
F10 | 結束htop |
命令行選項(COMMAND-LINE OPTIONS)
-C --no-color 使用一個單色的配色方案
-d --delay=DELAY 設置延遲更新時間,單位秒
-h --help 顯示htop 命令幫助信息
-u --user=USERNAME 只顯示一個給定的用戶的過程
-p --pid=PID,PID… 只顯示給定的PIDs
-s --sort-key COLUMN 依此列來排序
-v –version 顯示版本信息
交互式命令(INTERACTIVE COMMANDS)
上下鍵或PgUP, PgDn 選定想要的進程,左右鍵或Home, End 移動字段,當然也可以直接用鼠標選定進程;
Space 標記/取消標記一個進程。命令可以作用於多個進程,例如 "kill",將應用於所有已標記的進程
U 取消標記所有進程
s 選擇某一進程,按s:用strace追蹤進程的系統調用
l 顯示進程打開的文件: 如果安裝了lsof,按此鍵可以顯示進程所打開的文件
I 倒轉排序順序,如果排序是正序的,則反轉成倒序的,反之亦然
+, - When in tree view mode, expand or collapse subtree. When a subtree is collapsed a "+" sign shows to the left of the process name.
a (在有多處理器的機器上) 設置 CPU affinity: 標記一個進程允許使用哪些CPU
u 顯示特定用戶進程
M 按Memory 使用排序
P 按CPU 使用排序
T 按Time+ 使用排序
F 跟蹤進程: 如果排序順序引起選定的進程在列表上到處移動,讓選定條跟隨該進程。這對監視一個進程非常有用:通過這種方式,你可以讓一個進程在屏幕上一直可見。使用方向鍵會停止該功能。
K 顯示/隱藏內核線程
H 顯示/隱藏用戶線程
Ctrl-L 刷新
Numbers PID 查找: 輸入PID,光標將移動到相應的進程上
2.3.1、按F1查看幫助
2.3.2、按F2設定
上方左右兩欄的顯示方式分爲Text Bar Graph Led 四種
2.3.3、按下F3鼠標 或者點擊Search 或者輸入"/", 輸入進程名進行搜索,例如搜索ssh
2.3.4、按下F4進入過濾器,相當於關鍵字搜索,不區分大小寫,例如過濾dev
2.3.5、 F5顯示樹形結構
顯示樹形結構,意思跟pstree 差不多,能看到所有程序樹狀執行的結構,這對於系統管理來說相當方便,理清程序是如何產生的,當然樹狀結構的瀏覽也可以依照其他數據來排序。
2.3.6、 選擇排序方式
按下F6 就可以選擇依照什麼來排序,最常排序的內容就是cpu 和memory 吧!
2.3.7 操作進程
F7、F8分別對應nice-和nice+,F9對應kill給進程發信號,選好信號回車就OK了
三、glances
3.1、glances簡介
glances 是一款用於 Linux、BSD 的開源命令行系統監視工具,它使用 Python 語言開發,使用psutil 庫來採集系統數據,能夠監視 CPU、負載、內存、磁盤 I/O、網絡流量、文件系統、系統溫度等信息。相對於top/vmstat/iostat等老牌監控工具,glances具有的優點是:Glances 可以監控本機也可以通過客戶端服務器模式監控其他機器;Glances 提供了基於 XML/RPC 的 API 便於其他程序調用,可編程;Glances 可以將數據輸出保存到 csv 或 html 格式的文件方便其他程序處理(報告或繪製圖形)。
3.2、glances安裝
[root@pyhon ~]# yum install -y glances
3.3、glances顯示信息說明
[root@pyhon ~]# glances
VIRT: 虛擬內存大小
RES: 進程佔用的物理內存值
CPU%:該進程佔用的 CPU 使用率
MEM%:該進程佔用的物理內存和總內存的百分比
PID: 進程 ID 號
USER: 進程所有者的用戶名
TIME+: 該進程啓動後佔用的總的 CPU 時間
IOR/s 和 IOW/s: 進程的讀寫 I/O 速率
NAME: 進程名稱
NI: 進程優先級
S: 進程狀態,其中 S 表示休眠,R 表示正在運行,Z 表示僵死狀態。
四、dstat
4.1、dstat簡介
dstat工具默認情況下會動態顯示CPU,disk,net,page,system負載情況
4.2、安裝dstat
[root@pyhon ~]# yum install -y dstat
4.3、常用參數:
-c cpu是也,顯示CPU系統佔用,用戶佔用,空閒,等待,中斷,軟件中斷等信息
-C 當有多個CPU時候,此參數可按需分別顯示cpu狀態;如 -C 0,1 顯示cpu0和cpu1的信息
[root@pyhon ~]# dstat -C 0,1
-d disk,顯示磁盤讀寫數據大小
-D 指定磁盤讀寫數據大小
-n net 顯示網絡狀態
-N net 有多塊網卡時,指定要顯示的網卡
-l load average 顯示系統負載情況
-m memory 顯示內存使用情況
-g page 顯示頁面使用情況
-p process 顯示進程狀態
-s swap 顯示交換分區使用情況
-r I/O請求情況
-y system status
--ipc 顯示ipc消息隊列,信號等信息
--socket 用來顯示tcp udp端口狀態
-v vmstat 等同於 -pmgdsc -D total