目錄一、常用操作1、查看所有進程(連帶命令行)2、顯示所有包含其他使用者的進程3、查看指定進程(grep過濾)4、查看CPU/內存占用率最高的進程5、查看指定用戶的進程6、分頁查看進程二、拓展1、TT...
作用:查看系統進程,比如正在運行的進程有哪些,什么時候開始運行的,哪個用戶運行的,占用了多少資源。
參數:
- -e 顯示所有進程
- -f 顯示所有字段(UID,PPIP,C,STIME字段)
- -a 顯示一個終端的所有進程
- -u 顯示當前用戶進程和內存使用情況
- -x  js; 顯示沒有控制終端的進程
- –sort 按照列名排序
一、常用操作
ps命令常用的方式有三種:
ps -ef
:查看所有進程ps -aux
:查看所有進程ps -ef | grep tomcat
:查看指定進程
1、查看所有進程(連帶命令行)javascript
ps -ef
字段解釋:
- UID:用戶ID,即進程的擁有者
- PID:進程ID
- PPID:父進程ID
- C:進程占用的CPU百分比
- STIME:進程開始啟編程動時間
- TTY:登入者的終端機位置
- TIME:進程使用的CPU(運算)時間
- CMD:調用進程的命令
2、顯示所有包含其他使用者的進程
ps -aux
字段解釋:
- USER:創建進程的用戶
- PID:進程ID
- %CPU:進程占用CPU的百分比
- %MEM:進程占用物理內存的百分比
- VSZ:進程占用虛擬內存的大?。▎挝籏B)
- RSS:進程占用實際物理內存的大?。▎挝籏B)
- TTY:進程在哪個終端運行。
- STAT:進程狀態
- START:進程開始啟動的時間
- TIME:進程使用的CPU(運算)時間
- COMMAND:調用進程的命令
3、查看指定進程(grep過濾)
ps -ef
通常會配合 grep
來過濾指定的進程,比如
搜索 mysql 的進程:ps -ef | grep mysql
搜索 tomcat 的進程:ps -ef | grep tomcat
4、查看CPU/內存占用率最高的進程
1)查看進程的時候,讓進程按照CPU使用率排序,然后展示前10行,就能清晰地看到哪些進程占用的資源比較多。
PS1:head -11
是因為標題也算一行
PS2:+
、-
號可以調整排序,-pcpu
表示降序,+pcpu
表示升序
ps -aux --sort=-pcpu | head -11
2)同理,把 -pcpu
換成 -pmem
,就能查看內存使用最多的10個進程。
ps -aux --sort=-pmem | head -11
3)如果不限制行數,也可以使用 sort
按照指定的列排序
降序:
ps -aux | sort -nk 4 -r
升序:
ps -aux | sort -nk 4
5、查看指定用戶的進程
查看某個用戶開啟了哪些進程,可以使用 -u
參數指定用戶名,比如,查看roojst用戶的進程有哪些:
ps -u root -ef
6、分頁查看進程
除了 grep 外,還可以配合 more 分頁查看進程:ps -ef | more
翻頁的操作同 more 命令,q鍵退出,空格鍵翻頁
二、拓展
1、TTY字段(終端類型)
TTY字段表示運行進程的終端是哪個,這里的終端類型有兩種:tty和pts。
- tty:表示物理終端,其中
tty1~6
是本地字符界面終端,tty7
是本地圖形終端 - pts:表示虛擬終端,通常指遠程連接的終端,范圍是
pts/0~255
,比如第一個遠程連接的終端是pts/0
,第二個遠程連接的終端是pts/1
,依次類推。
2、STAT字段(進程狀態)
STAT字段表示進程的狀態,常見的狀態有以下幾種:
- D:睡眠狀態(不可被喚醒),常用于I/O情況。
- R:進程正在運行
- S:睡眠狀態(可被喚醒)
- T:停止狀態
- W:內存交互狀態
- Z:僵尸進程(不存在但暫時無法消除)
- <:高優先級
- N:低優先級
- L:被鎖入內存
- s:包含子進程
- l:多線程
- +:位于后臺
3、僵尸進程
進程由于非正常停止或程序編寫錯誤,導致子進程比父進程先結束,而父進程又沒有正?;厥兆舆M程,使子進程一直在內存中,導致資源浪費。這種情況就是僵尸進程。
PS:正常情況下應該是父進程先結束,然后子進程由init接管,init 結束子進程并回收對應的資源。
到此這篇關于linux ps命令詳解,Linux查看進程的文章就介紹到這了,更多相關Linux ps命令內容請搜索我們以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持我們!
如果認為本文對您有所幫助請贊助本站