1. 監(jiān)控進(jìn)程狀態(tài)
- 1.1 使用ps命令查看當(dāng)前的進(jìn)程狀態(tài)(靜態(tài))
[root@ennan ~]# ps aux | more
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 46240 3768 ? Ss 01:50 0:08 /usr/lib/systemd/systemd --syste
m --deserialize 16
root 2 0.0 0.0 0 0 ? S 01:50 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 01:50 0:07 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 01:50 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S 01:50 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 01:50 0:00 [rcu_bh]
ps -aux為常用組合,用于查看進(jìn)程的用戶、PID、占用cpu百分比、占用內(nèi)存百分比、狀態(tài)、執(zhí)行的命令等
ps狀態(tài)及描述
| 狀態(tài) | 描述 |
|---|---|
| USER | 啟動(dòng)進(jìn)程的用戶 |
| PID | 進(jìn)程運(yùn)行的ID號(hào) |
| %CPU | 進(jìn)程占用CPU百分比 |
| %MEM | 進(jìn)程占用內(nèi)存百分比 |
| VSZ | 進(jìn)程占用虛擬內(nèi)存的大?。▎挝籏B) |
| RSS | 進(jìn)程占用物理內(nèi)存實(shí)際大?。▎挝籏B) |
| TTY | 進(jìn)程是由哪個(gè)終端運(yùn)行啟動(dòng)的,tty1、pts/0等,?表示內(nèi)核程序與終端無(wú)關(guān) |
| STAT | 進(jìn)程運(yùn)行過(guò)程中的狀態(tài) |
| START | 進(jìn)程啟動(dòng)的時(shí)間 |
| TIME | 進(jìn)程占用的CPU的總時(shí)間(0表示還沒(méi)超過(guò)秒) |
| COMMAND | 程序執(zhí)行的指令,[ ]內(nèi)輸入內(nèi)核態(tài)的進(jìn)程。沒(méi)有[ ]的是用戶態(tài)的進(jìn)程。 |
STAT的狀態(tài)及描述
| STAT基本狀態(tài) | 描述 | STAT狀態(tài)+符號(hào) | 描述 |
|---|---|---|---|
| R | 進(jìn)程運(yùn)行 | s | Ss進(jìn)程的領(lǐng)導(dǎo)者,父進(jìn)程 |
| S | 可中斷睡眠 | < | 進(jìn)程運(yùn)行在高優(yōu)先級(jí)上,S<優(yōu)先級(jí)較高的進(jìn)程 |
| T | 進(jìn)程被暫停 | N | 進(jìn)程運(yùn)行在低優(yōu)先級(jí)上,SN優(yōu)先級(jí)較低的進(jìn)程 |
| D | 不可中斷的睡眠 | + | 當(dāng)前進(jìn)程運(yùn)行在前臺(tái),R+表示進(jìn)程在前臺(tái)運(yùn)行 |
| Z | 僵尸進(jìn)程 | l | 進(jìn)程是多線程的,Sl表示進(jìn)程是以線程方式運(yùn)行的 |
- 實(shí)驗(yàn)一、PS命令查看進(jìn)程狀態(tài)切換
?在終端1上運(yùn)行vim test
[root@ennan ~]# vim test
?在終端2上通過(guò)ps命令查看進(jìn)程的狀態(tài)
[root@ennan ~]# ps aux | grep vim
root 12665 0.2 0.2 151540 5248 pts/0 S+ 01:46 0:00 vim test
root 12667 0.0 0.0 112708 972 pts/1 S+ 01:46 0:00 grep --color=auto vim
?在終端1上掛起vim命令,按下:ctrl+z
&emsp;回到終端2再次運(yùn)行ps命令查看狀態(tài)
[root@ennan ~]# ps aux | grep vim
root 12668 0.1 0.2 151540 5248 pts/1 T 01:54 0:00 vim test
root 12672 0.0 0.0 112708 976 pts/0 S+ 01:55 0:00 grep --color=auto vim
- 實(shí)驗(yàn)二、PS命令查看不可中斷狀態(tài)進(jìn)程
&emsp;在終端1上使用tar對(duì)文件進(jìn)行打包
[root@ennan ~]# tar czf test.tar.gz /etc/ /usr/ /var/
?在終端2上不斷查看狀態(tài)
[root@ennan ~]# ps aux | grep tar
root 12679 15.6 0.1 124832 2592 pts/1 R+ 02:00 0:09 tar czf test.tar.gz /etc/ /usr/ /var/
root 12789 0.0 0.0 112708 976 pts/0 S+ 02:01 0:00 grep --color=auto tar
[root@ennan ~]# ps aux | grep tar
root 12679 15.6 0.1 124832 2592 pts/1 D+ 02:00 0:09 tar czf test.tar.gz /etc/ /usr
- 1.2 使用top命令查看當(dāng)前的進(jìn)程狀態(tài)(動(dòng)態(tài))
[root@ennan ~]# top
top - 02:26:15 up 2:01, 3 users, load average: 0.00, 0.01, 0.08
Tasks: 109 total, 1 running, 108 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2028116 total, 75516 free, 137336 used, 1815264 buff/cache
KiB Swap: 819196 total, 819196 free, 0 used. 1636144 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12875 root 20 0 161880 2200 1556 R 0.3 0.1 0:00.09 top
1 root 20 0 128408 6972 4160 S 0.0 0.3 0:03.95 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:01.19 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:00.23 migration/0
第一行解釋及說(shuō)明
top - 02:26:15 up 2:01, 3 users, load average: 0.00, 0.01, 0.08
| 狀態(tài) | 說(shuō)明 |
|---|---|
| 02:26:15 | 當(dāng)前系統(tǒng)時(shí)間 |
| 2:01 | 系統(tǒng)運(yùn)行時(shí)長(zhǎng) |
| 3 users | 當(dāng)前有3個(gè)用戶(終端)連接到系統(tǒng) |
| load average | 平均負(fù)載 |
| 0.00 | 一分鐘內(nèi)平均負(fù)載 |
| 0.01 | 五分鐘內(nèi)平均負(fù)載 |
| 0.08 | 十五分內(nèi)平均負(fù)載 |
第二行解釋及說(shuō)明
Tasks: 109 total, 1 running, 108 sleeping, 0 stopped, 0 zombie
| 狀態(tài) | 說(shuō)明 |
|---|---|
| 109 total | 當(dāng)前進(jìn)程總數(shù) |
| 1 running | 正在運(yùn)行的進(jìn)程數(shù)量(R) |
| 108 sleeping | 睡眠的進(jìn)程數(shù)(S) |
| 0 stopped | 停止,掛起的進(jìn)程數(shù)(T) |
| 0 zombie | 僵尸進(jìn)程數(shù) |
第三列解釋及說(shuō)明
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
| 狀態(tài) | 說(shuō)明 |
|---|---|
| 0.0 us | 系統(tǒng)用戶進(jìn)程使用CPU百分比 |
| 0.2 sy | 內(nèi)核中的進(jìn)程占用CPU百分比,通常內(nèi)核是于硬件進(jìn)行交互 |
| 0.0 ni | 優(yōu)先級(jí)的進(jìn)程占用cpu的百分比 |
| 99.8 id | 空閑CPU的百分比 |
| 0.0 wa | CPU等待IO完成的時(shí)間 |
| 0.0 hi | 硬中斷,占的CPU百分比 |
| 0.0 si | 軟中斷,占的CPU百分比 |
| 0.0 st | 比如虛擬機(jī)占用物理CPU的時(shí)間 |
top常見(jiàn)指令
| 指令 | 含義 |
|---|---|
| h | 查看幫助 |
| 1 | 數(shù)字1,顯示所有CPU核心的負(fù)載 |
| b | 高亮顯示處于R狀態(tài)的進(jìn)程 |
| M | 按內(nèi)存使用百分比排序輸出 |
| P | 按CPU使用百分比排序輸出 |