歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux查看進程總結

Linux查看進程總結

日期:2017/2/28 15:31:06   编辑:Linux教程

Linux進程主要分為:靜態進程查看命令(ps)、動態進程查看命令(top)和查看進程樹命令(pstree),下面分別介紹這幾個進程

一、靜態進程查看

ps命令格式: ps -aux 查看系統所有進程

ps -lA 查看所有系統的數據

ps axjf 連通部分進程樹狀態

-A:與-e意思一樣,表列出所有進程

-a :不與terminal有關的進程

-u:有效用戶相關的進程

x:通常與a這個參數一起用,可以列出完整信息

輸出格式: l:較仔細列出該pid信息

j:工作格式

-f:做一個更為完整的輸出

ps -l:僅查看自己的bash相關進程

  1. www.linuxidc.com @Ubuntu:~$ ps -l
  2. F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
  3. 0 S 1000 20257 20248 0 80 0 - 6067 wait pts/7 00:00:00 bash
  4. 0 R 1000 21392 20257 0 80 0 - 2466 - pts/7 00:00:00 ps

F:進程標志
4:表示權限為root
1:表示只能復制,不能執行
S:表示進程的狀態(STAT)
R:running表示正在運行狀態
S:sleep表示沉睡狀態,但是可以喚醒
D:表示沉睡狀態,不能喚醒,通常這個進程可能在等待I/O的情況
T:stop表示停在狀態,例如暫停的後台工作或出錯進程
Z:僵屍進程,進程已經終止但不能提出內存外
UID/PID/PPID:表示用戶的UID/進程的PID號碼/此進程的父進程PID號碼
C:表示CPU的使用率,單位是百分比
PRI/NI:表示此進程被CPU執行的優先級,數字越小,優先級越高
ADDR:支持該進程在內存的那個部分,若該進程正在運行這表示為“-”
SZ:表示該進程占用了多少內存
WCHAN:表示該進程是否運行,若在運行這表示為“-”
TTY:表示登陸終端,若是遠程登陸表示為pts/h
TIME:表示該進程使用CPU的時間
CMD:command,表示那個命令啟動的該進程

  1. www.linuxidc.com @ubuntu:~$ ps aux
  2. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  3. root 1 0.0 0.0 24564 2444 ? Ss 08:19 0:00 /sbin/init
  4. root 2 0.0 0.0 0 0 ? S 08:19 0:00 [kthreadd]
  5. root 3 0.0 0.0 0 0 ? S 08:19 0:04 [ksoftirqd/0]

USER:表示該進程所屬用戶

PID:該進程的PID號

%CPU:表示該進程的CPU占用率

%MEM:表示該進程的物理內存占用率

VSZ:表示該進程占用了多少虛擬內存量

RSS:表示該進程占用了多少固定內存量

TTY:表示登陸端口

STAT:和上面介紹的進程狀態一樣(R/S/D/T/Z進程)

START:該進程觸發啟動的時間

TIME:表示該進程占用CPU的時間

COMMAND:表示觸動該進程的命令

僵屍進程

通常,造成僵屍進程的原因是該進程應該已經執行完畢,或是因故應該要終止了,但是該進程的父進程卻無法完整將該進程結束掉,而造成那個進程一直在內存當中。如果你發現某個進程的CMD後面接上<defunct>時,就代表該進程是僵屍進程,例如:

1 2598 2598 2598 ? -1 Ss 0 0:00 /usr/sbin/hcid<defunct>

當系統不穩定的時候就容易造成所謂的僵屍進程,可能是因為程序寫的不好,或者用戶操作不當所造成的。如果系統出現很多僵屍進程,記得要找出父進程,然後好好跟蹤,好好優化主機環境。如果實在不行就只有reboot了。

Copyright © Linux教程網 All Rights Reserved