更新時間:2014.12.06 ps是Linux下用來查看進程的各類信息的工具,經過ps命令咱們能夠很是清楚地掌握各個進程所使用的系統資源,及時發現那些資源消耗異常的進程。保障服務器系統的高可用性及穩定性。php
系統環境:Debian GNU/Linux 7.7 (wheezy)
pathname:/bin/ps
package:procpslinux
ps命令選項:
簡單進程選擇:
-A 選擇全部進程
-e 選擇全部進程,等同於-A服務器
經過清單選擇進程(PROCESS SELECTION BY LIST)
-C cmdlist
經過進程的可執行文件的名字來選擇進程session
輸出格式控制:
-l —— 長格式,-y選項和這個一塊兒用時頗有用
-o —— 自定義輸出格式,後接格式說明符,(格式說明符間用逗號隔開)
-y —— 不顯示flags,顯示rss來代替addr,這個選項只能和-l選項一塊兒用多線程
輸出修改器(OUTPUT MODIFIERS):
--no-headers —— 不打印頭部
--sort spec —— 指定排序次序,默認是按spec(說明符)升序排列(+spec:按spec升序排列;-spec,按spec降序排列)工具
標準格式說明符:ui
代碼 | 頭部 | 描述 |
%mem | %MEM | 進程佔用物理內存的百分比 |
args | COMMAND | 輸出命令及其所有參數 |
cmd | CMD | alias args |
comm | COMMAND | 僅輸出可執行文件的名字 |
command | COMMAND | alias args |
etime | ELAPSED | 輸出進程的運行時間,時間格式以下:[[dd-]hh:]mm:ss(運行時間沒有超過一天則不顯示dd-,若是運行時間還不到一小時,則顯示格式爲mm:ss) |
euser | EUSER | 輸出進程的執行者的用戶名(有時是顯示執行者的uid) |
lstart | STARTED | 輸出進程啓動時刻 |
pid | PID | 輸出進程的進程號 |
psr | PSR | 進程當前被分配的處理器 |
pmem | %MEM | alias %mem |
rss | RSS | 物理內存的使用大小(單位爲KB) |
rssize | RSS | alias rss |
rsz | RSZ | alias rss |
s | S | 最小狀態顯示(只顯示一個字符) |
stat | STAT | 多字符狀態顯示(顯示更詳細的進程狀態信息) |
state | S | alias s |
uname | USER | alias euser |
user | USER | alias euser |
進程狀態代碼:
D 不可中斷睡眠
R 正在運行或可運行(或者位於運行隊列中)
S 可中斷睡眠
T 已終止
X 已死(should never be seen)
Z 已故進程,已終止但還未被其父進程回收
< 高優先級(對其它用戶不友好)
N 低優先級(對其它用戶友好)
L 頁面鎖定在內存
s 含有子進程(is a session leader)
l 多線程
+ 位於前臺進程組中spa
root@godontop:~# ps -eo rss,pid,user,etime,lstart,stat,args --no-headers |sort -k 1 -nr
按第一個參數rss(物理內存)的使用狀況從大到小排序線程
按RSS的大小升序排列
# ps -lyC php5-fpm --sort rss
S UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMD
S 0 18303 1 0 80 0 508 10460 - ? 00:00:03 php5-fpm
S 33 22675 18303 1 80 0 39040 18523 - ? 00:00:04 php5-fpm
S 33 22676 18303 0 80 0 42576 19404 - ? 00:00:03 php5-fpm
S 33 22435 18303 0 80 0 47904 20698 - ? 00:00:19 php5-fpm排序
備註:當-o選項與--no-headers一塊兒使用時,--no-headers需放在格式說明符的後面