Linux系列之查看进程线程的方法
在window系統(tǒng)查看系統(tǒng)進(jìn)程,我們一般會(huì)使用Ctrl+Shift+Esc打開系統(tǒng)進(jìn)程監(jiān)控頁(yè)面,但是在Linux系統(tǒng)查看進(jìn)程一般使用top命令或者ps命令,但是如果要查看線程怎么查看?其實(shí)也可以使用這兩個(gè)命令,所以本博客總結(jié)一下幾種方法
ps命令
Linux的ps命令用于查看進(jìn)程統(tǒng)計(jì)信息
常用參數(shù):
- a:顯示當(dāng)前終端下的所有進(jìn)程信息,包括其他用戶的進(jìn)程。
- u:使用以用戶為主的格式輸出進(jìn)程信息。
- x:顯示當(dāng)前用戶在所有終端下的進(jìn)程。
- -e:顯示系統(tǒng)內(nèi)的所有進(jìn)程信息。
- -l:使用長(zhǎng)(long)格式顯示進(jìn)程信息。
- -f:使用完整的(full)格式顯示進(jìn)程信息。
- -T:查看進(jìn)程下面的子線程
在使用中可以加上grep命令一起使用,也可以單獨(dú)使用
# ps命令單獨(dú)使用的情況 ps -elf tomcat #結(jié)合管道操作和grep命令進(jìn)行過(guò)濾,用于查詢某一個(gè)進(jìn)程的信息 ps -elf | grep tomcat查看進(jìn)程下面的子線程可以使用命令
ps -T -p pidpid是具體的進(jìn)程ID,加上-T查看具體的進(jìn)程下面的線程,ps可以用來(lái)查看進(jìn)程,也可以用來(lái)查看線程,需要注意一下
top命令
top命令可以實(shí)時(shí)動(dòng)態(tài)地查看系統(tǒng)的整體運(yùn)行情況,是一個(gè)綜合了多方信息監(jiān)測(cè)系統(tǒng)性能和運(yùn)行信息的實(shí)用工具,TOP命令是Linux下常用的性能分析工具,能夠?qū)崟r(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況,有點(diǎn)像window系統(tǒng)的任務(wù)管理器
語(yǔ)法:
top [param]param為:
- -b:以批處理模式操作;
- -c:顯示完整的治命令;
- -d:屏幕刷新間隔時(shí)間;
- -I:忽略失效過(guò)程;
- -s:保密模式;
- -S:累積模式;
- -u [用戶名]:指定用戶名;
- -p [進(jìn)程號(hào)]:指定進(jìn)程;
- -n [次數(shù)]:循環(huán)顯示的次數(shù)。
- -H:查看進(jìn)程下面的子線程
top命令分為上下兩個(gè)部分:
- 系統(tǒng)統(tǒng)計(jì)信息
- 系統(tǒng)進(jìn)程信息
系統(tǒng)統(tǒng)計(jì)信息
-
row1:任務(wù)隊(duì)列信息,同 uptime 命令的執(zhí)行結(jié)果
top - 11:38:01 up 231 days, 2:06, 1 user, load average: 0.88, 0.22, 0.18- 11:38:01 (當(dāng)前系統(tǒng)時(shí)間)
- up 231 days, 2:06(系統(tǒng)運(yùn)行時(shí)間)
- 1 user (當(dāng)前登錄用戶數(shù))
- load average: 0.88, 0.22, 0.18 (系統(tǒng)的平均負(fù)載數(shù),表示 1分鐘、5分鐘、15分鐘到現(xiàn)在的平均數(shù))
-
row2:進(jìn)程統(tǒng)計(jì)信息
Tasks: 170 total, 1 running, 169 sleeping, 0 stopped, 0 zombie- 170 total(系統(tǒng)當(dāng)前總進(jìn)程總數(shù))
- 1 running (正在運(yùn)行的進(jìn)程數(shù))
- 169 sleeping(睡眠進(jìn)程數(shù))
- 0 stopped (停止進(jìn)程數(shù))
- 0 zombie (僵尸進(jìn)程數(shù))
-
row3:CPU 統(tǒng)計(jì)信息
%Cpu(s): 38.7 us, 3.5 sy, 0.0 ni, 42.0 id, 15.5 wa, 0.0 hi, 0.3 si, 0.0 st- 38.7 us, (用戶空間CPU占用率)
- 3.5 sy (內(nèi)核空間CPU占用率)
- 0.0 ni (用戶進(jìn)程空間改變過(guò)優(yōu)先級(jí)的進(jìn)程CPU的占用率)
- 42.0 id(空閑CPU占有率)
- 15.5 wa (等待輸入輸出的CPU時(shí)間百分比)
- 0.0%hi (硬件中斷請(qǐng)求)
- 0.3%si (軟件中斷請(qǐng)求)
- 0.0%st (分配給運(yùn)行在其它虛擬機(jī)上的任務(wù)的實(shí)際 CPU時(shí)間)
-
row4:內(nèi)存狀態(tài)
KiB Mem : 8010580 4671188 , 927820 free, 2411572 used, 4671188 buff/cache- 4671188 total (物理內(nèi)存總量 )
- 2411572 used (已使用的內(nèi)存 )
- 927820 free (空閑內(nèi)存 )
- 4671188 buffers (內(nèi)核緩存使用)
ps:以k為單位
-
row5:swap交換分區(qū)信息
KiB Swap: 4063228 total, 2933688 free, 1129540 used. 5153128 avail Mem- 4063228 total (交換分區(qū)總量 )
- 1129540 used (已使用交換分區(qū)內(nèi)存 )
- 2933688 free (空閑交換分區(qū) )
- 5153128 cached (緩沖交換區(qū) )
系統(tǒng)進(jìn)程信息
- PID :進(jìn)程id
- USER :進(jìn)程所有者的用戶名
- PR :進(jìn)程優(yōu)先級(jí)
- NI :nice值。負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)
- VIRT :進(jìn)程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RES
- RES :進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA
- SHR :共享內(nèi)存大小,單位kb
- S :進(jìn)程狀態(tài)。D=不可中斷的睡眠狀態(tài) R=運(yùn)行 S=睡眠 T=跟蹤/停止 Z=僵尸進(jìn)程
- %CPU :上次更新到現(xiàn)在的CPU時(shí)間占用百分比
- %MEM :進(jìn)程使用的物理內(nèi)存百分比
- TIME+ :進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒
- COMMAND :進(jìn)程名稱[命令名/命令行]
按“1”鍵,可打開或關(guān)閉顯示詳細(xì)CPU統(tǒng)計(jì)信息:
按字母“B”鍵,可打開或關(guān)閉當(dāng)前進(jìn)程的顯示效果
top -H -p pid,查看進(jìn)程pid下面的子線程,top命令也可以用來(lái)查看線程·,常被忽略這個(gè)用法
htop命令
htop命令可以理解為htop命令的加強(qiáng)版,默認(rèn)會(huì)帶上顏色的,而且直觀性等等這些功能會(huì)更強(qiáng)一些,不過(guò)linux系統(tǒng)一般不默認(rèn)安裝,如果是centos,可以使用yum直接安裝
sudo yum install epel-release sudo yum install htop安裝好之后直接使用htop,命令返回的很多參數(shù)和top類似,所以描述就省略,為了直接顯示,可以按F2,將Tree view和show custom thread names開放出來(lái),然后按F10保存退出
htop網(wǎng)上有兩遍相對(duì)比較詳細(xì)的可以參考:
- https://blog.csdn.net/lovedingd/article/details/120784528
- https://z.itpub.net/article/detail/0BF005735A2D6E1C71AAEE7479B00406
知識(shí)點(diǎn)歸納
總結(jié):top命令和ps經(jīng)常被用于查看linux系統(tǒng)進(jìn)程,但是也可以查看線程,top命令是通過(guò)top -H -p pid,而ps是通過(guò)ps -T -p pid查看,這些命令常被用于排查性能問題,比較常用,需要花點(diǎn)時(shí)間掌握。如果為了查看更加直觀,可以使用htop,htop是默認(rèn)不安裝,可以進(jìn)行自行安裝
參考資料
- Linux命令大全(手冊(cè))
- linux系列之常用運(yùn)維命令整理
- 后端程序員必備的 Linux 命令
總結(jié)
以上是生活随笔為你收集整理的Linux系列之查看进程线程的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决vue element导航重复点击路
- 下一篇: linux stopped 进程,Lin