linux top、htop進程管理工具
文章目錄:
- top命令查看進程截圖顯示
- 進程頭部分參數介紹
- top內部命令控制進程顯示方式
- 其他參數介紹
- htop查看進程
1. top命令查看進程截圖顯示
2. 進程頭部分參數介紹
查看進程的頭部相關信息,這裏選取了前7行的信息:
[root@www ~]# top | head -7
top - 09:49:48 up 18:59, 3 users, load average: 0.00, 0.01, 0.05
Tasks: 237 total, 1 running, 236 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 997980 total, 81932 free, 537260 used, 378788 buff/cache
KiB Swap: 2097148 total, 1734140 free, 363008 used. 235876 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
VIRT:virtual memory usage 虛擬內存
1、進程“需要的”虛擬內存大小,包括進程使用的庫、代碼、數據等
2、假如進程申請100m的內存,但實際只使用了10m,那麼它會增長100m,而不是實際的使用量RES:resident memory usage 常駐內存
1、進程當前使用的內存大小,但不包括swap out
2、包含其他進程的共享
3、如果申請100m的內存,實際使用10m,它只增長10m,與VIRT相反
4、關於庫佔用內存的情況,它只統計加載的庫文件所佔內存大小
5、這部分內存不可輕易放置在磁盤中SHR:shared memory 共享內存
1、除了自身進程的共享內存,也包括其他進程的共享內存
2、雖然進程只使用了幾個共享庫的函數,但它包含了整個共享庫的大小
3、計算某個進程所佔的物理內存大小公式:RES – SHR
4、swap out後,它將會降下來DATA
1、數據佔用的內存。如果top沒有顯示,按f鍵可以顯示出來。
2、真正的該程序要求的數據空間,是真正在運行中要使用的。
3. top內部命令控制進程顯示方式
在命令模式下輸入top命令後,按鍵盤上的相關按鍵,則可對進程的顯示方式進行控制,內部命令如下:
按鍵 | 說明 |
---|---|
s | 改變畫面更新頻率 (默認3s刷新一次) |
l | 關閉或開啓第一部分第一行 top 信息的表示 |
t | 關閉或開啓第一部分第二行 Tasks 和第三行 Cpus 信息的表示 |
m | 關閉或開啓第一部分第四行 Mem 和 第五行 Swap 信息的表示 |
M | 以內存佔用率大小的順序排列進程列表 |
p | 以 CPU 佔用率大小的順序排列進程列表 |
N | 以 PID 的大小的順序排列表示進程列表 |
h | 顯示幫助 |
n | 設置在進程列表所顯示進程的數量 |
q | 退出 top |
4. 其他參數介紹
序號 | 列名 | 含義 |
---|---|---|
1 | PID | 進程id號 |
2 | PPID | 父進程id |
3 | RUSER | Real user name |
4 | PPID | 父進程id |
5 | UID | 進程所有者的用戶id |
6 | USER | 進程所有者的用戶名 |
7 | GROUP | 進程所有者的組名 |
8 | TTY | 啓動進程的終端名,不是從終端啓動的進程則顯示爲 ? |
9 | PR | 優先級 |
10 | NI | nice值,負值表示高優先級,正值表示低優先級 |
11 | P | 最後使用的CPU,僅在多CPU環境下有意義 |
12 | TIME+ | 進程使用的CPU時間總計 |
13 | %MEM | 進程使用的物理內存百分比 |
14 | P | 最後使用的CPU,僅在多CPU環境下有意義 |
15 | VIRT | 進程使用的虛擬內存總量,單位kb,VIRT=SWAP+RES |
16 | SWAP | SWAP 進程使用的虛擬內存中,被換出的大小,單位kb |
17 | RES | 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA |
18 | CODE | 可執行代碼佔用的物理內存大小,單位kb |
19 | DATA | 可執行代碼以外的部分(數據段+棧)佔用的物理內存大小,單位kb |
20 | SHR | 共享內存大小,單位kb |
21 | S | 進程狀態(D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/停止,Z=殭屍進程) |
22 | COMMAND | 命令名/命令行 |
5. htop查看進程
top命令查看進程是比較舊的方式了,此外,可以使用htop命令來查看進程,在安裝htop工具之前,需要安裝epel rpm包
fedora epel網站: https://fedoraproject.org/wiki/EPEL
RHEL/CentOS 6:
[root@www ~]# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
RHEL/CentOS 7:
[root@www ~]# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@www ~]# yum install htop
htop中幾個非常有用的命令,在做系統優化時使用:
序號 | 選項 | 含義 |
---|---|---|
1 | s | 跟蹤選的進程的系統調用 |
2 | l | 顯示選定進程打開的文件列表 |
3 | a | 將選定的進程綁定至某指定的CPU核心 |
4 | t | 顯示進程樹 |
htop常用選項:
-d:指定刷新時間
-u Username: 僅顯示指定用戶的進程
-s COLOMN: 以指定字段進行排序