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