Linux檢視程序占用

2021-08-31 07:20:00 字數 2437 閱讀 7289

​ 要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序, 而ps命令(process status)就是最基本同時也是非常強大的程序檢視命令.

使用ps命令 可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有殭屍、哪些程序占用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到的.

1)ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。

2)ps -a 顯示所有程式。

3)ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。

4)ps -e 此引數的效果和指定"a"引數相同。

5)ps e 列出程式時,顯示每個程式所使用的環境變數。

6)ps f 用ascii字元顯示樹狀結構,表達程式間的相互關係。

7)ps -h 顯示樹狀結構,表示程式間的相互關係。

8)ps -n 顯示所有的程式,除了執行ps指令終端機下的程式之外。

9)ps s 採用程式訊號的格式顯示程式狀況。

10)ps s 列出程式時,包括已中斷的子程式資料。

11)ps -t《終端機編號》  指定終端機編號,並列出屬於該終端機的程式的狀況。

12)ps u  以使用者為主的格式來顯示程式狀況。

13)ps x  顯示所有程式,不以終端機來區分。

如果直接用ps命令,會顯示所有程序的狀態,通常結合grep命令檢視某程序的狀態。

grep (global search regular expression(re) and print out the line,全面搜尋正規表示式並把行列印出來)是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。

示例:
輸入命令:ps -aux| grep ./update_stock

[root@node20 updatedb]# ps aux|grep ./update_stock

輸出:root 14232 0.0 0.0 5928 724 pts/1 s+ 18:16 0:00 grep ./update_stock

root 25021 0.0 0.0 3056 816 ? s apr12 0:03 ./update_stock

ps -aux輸出格式:

user pid %cpu %mem vsz rss tty stat start time command

user: 行程擁有者

pid: pid

%cpu: 占用的 cpu 使用率

%mem: 占用的記憶體使用率

vsz: 占用的虛擬記憶體大小

rss: 占用的記憶體大小

tty: 終端的次要裝置號碼 (minor device number of tty)

stat: 該行程的狀態,linux的程序有5種狀態:

d 不可中斷 uninterruptible sleep (usually io)

r 執行 runnable (on run queue)

s 中斷 sleeping

t 停止 traced or stopped

z 僵死 a defunct (」zombie」) process

注: 其它狀態還包括w(無駐留頁), <(高優先順序程序), n(低優先順序程序), l(記憶體鎖頁).

start: 行程開始時間

time: 執行的時間

command:所執行的指令

ps 為我們提供了程序的一次性的檢視,它所提供的檢視結果並不動態連續的;如果想對程序時間監控,應該用 top 工具。

kill

有十幾種控制程序的方法,下面是一些常用的方法:

kill -stop [pid]

傳送sigstop (17,19,23)停止乙個程序,而並不消滅這個程序。

kill -cont [pid]

傳送sigcont (19,18,25)重新開始乙個停止的程序。

kill -kill [pid]

傳送sigkill (9)強迫程序立即停止,並且不實施清理操作。

kill -9 -1

終止你擁有的全部程序。

sigkill 和 sigstop 訊號不能**捉、封鎖或者忽略,但是,其它的訊號可以。所以這是你的終極**。

執行(正在執行或在執行佇列中等待)

中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號)

不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷發生)

僵死(程序已終止, 但程序描述符存在, 直到父程序呼叫wait4()系統呼叫後釋放)

停止(程序收到sigstop, sigstp, sigtin, sigtou訊號後停止執行執行)

linux 檢視程序占用記憶體

top b n 1 grep opera awk cpu 0.0 mem 26.4 其中 rss 程序實際占用物理記憶體大小 vsz 任務虛擬位址空間的大小 root localhost cat proc self statm 654 57 44 0 0 334 0 以下是我自己的理解 從上面可以看...

linux 檢視程序占用記憶體

top b n 1 grep opera awk cpu 0.0 mem 26.4 其中 rss 程序實際占用物理記憶體大小 vsz 任務虛擬位址空間的大小 root localhost cat proc self statm 654 57 44 0 0 334 0 以下是我自己的理解 從上面可以看...

linux 檢視程序占用記憶體

top b n 1 grep opera awk cpu 0.0 mem 26.4 其中 rss 程序實際占用物理記憶體大小 vsz 任務虛擬位址空間的大小 root localhost cat proc self statm 654 57 44 0 0 334 0 以下是我自己的理解 從上面可以看...