1. 程式人生 > >Linux程序管理之“四大名捕”

Linux程序管理之“四大名捕”

Linux

一、四大名捕

四大名捕,最初出現於溫瑞安創作的武俠小說,是朝廷中正義力量諸葛小花的四大徒弟,四人各懷絕技,分別是輕功暗器高手“無情”、內功卓越的高手“鐵手”、腿功驚人的“追命”和劍法一流的“冷血”
本文四大名捕由linux命令所出演
無情:ps     出演
鐵手:dstat  出演
追命:top    出演
冷血:htop   出演

二、程序相關基礎知識

介紹四大名捕之前先介紹一下程序相關的基礎知識,話不多說,看圖。

Linux

三、輕功暗器高手“無情” [PS]

ps:用於顯示當前程序的狀態(非動態)
ps [options]:
選項有三種風格:
1、UNIX風格,必須在選項前面加“-”
2、BSD風格,選項前不能加“-”
3、GNU風格,選項前為兩個“-”

常用組合之一:aux

a:所有與終端相關的程序

x:所有與終端無關的程序

u:以使用者為中心組織程序狀態資訊顯示

Linux

CPU%:cpu時間佔用比率

MEM%:記憶體佔用百分比

VSZ:virtual size虛擬記憶體集;

RSS:Resident Size,常駐記憶體集;

STAT:

R:running 執行

S:interruptable sleeping 可中斷睡眠

D:uninterruptable sleeping 不可中斷睡眠

T:Stopped 停止

Z:zombie 僵死態

+:前臺程序

l:多執行緒程序

N:低優先順序程序

<:高優先順序程序

s:session leader  程序領導者

常用組合之二:-ef

-e:顯示所有程序

-f:顯示完整格式的程序資訊

Linux

常用組合之三:-eFH

-F:顯示完整格式的程序資訊;

C: cpu utilization cpu佔用百分比

PSR:運行於哪顆CPU之上

-H:以層級結構顯示程序的相關資訊;

linux

常用組合之四:-eo, axo

o  field1, field2,…:自定義要顯示的欄位列表,以逗號分隔

常用的field:pid, ni, priority, psr, pcpu, stat, comm, tty, ppid, rtprio

pid:程序的pid號

ni:nice值

priority:優先順序

psr:執行在那顆cpu

pcpu:cpu利用率

ppid:父程序的id號

rtprio:實時優先順序

四、內功卓越的高手“鐵手”[dstat]

dstat:系統資源統計命令(動態)
dstat [-afv] [options..] [delay [count]]

linux

常用選項:

-c, –cpu:顯示cpu相關資訊;

-C #,#,…,total:顯示第一個cpu,第二個cpu或者總共的

-d, –disk:顯示磁碟的相關資訊

-D sda,sdb,…,tobal:顯示指定硬碟裝置,總空間

-g:顯示page相關的速率資料;

-m:Memory的相關統計資料

-n:Interface的相關統計資料;

-p:顯示process的相關統計資料;

-r:顯示io請求的相關的統計資料;

-s:顯示swapped的相關統計資料;

linux

–tcp:顯示tcp套接字

–udp:顯示udp連線

–raw:顯示裸套接字

–socket:套接字

–ipc:程序間通訊資訊

linux

–top-cpu:顯示最佔用CPU的程序;

–top-io:最佔用io的程序;

–top-mem:最佔用記憶體的程序;

linux

五、腿功驚人的“追命”[top]

top:列出inux程序
top為動態顯示程序

Linux

top命令個引數具體含義:

top – 14:58:34 up  5:28,  1 user,  load average: 0.01, 0.02, 0.05

14:58:34:當前時間

up  5:28:執行時長

1 user:登入當前系統上的使用者數

load average: 0.01, 0.02, 0.05:平均負載(等待執行的佇列長度的負載)

Tasks: 353 total,   2 running, 351 sleeping,   0 stopped,   0 zombie

Tasks:任務

353 total:一共執行多少程序

2 running:幾個處於執行

351 sleeping:多少個睡眠

0 stopped:多少個停止

0 zombie:多少個僵死

%Cpu(s):  0.0 us,  0.7 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

%Cpu:cpu佔用百分比

0.0 us:使用者空間佔用的百分比

0.7 sy:核心空間佔用時間的百分比

0.0 ni:對nice調整佔用的記憶體百分比

99.3 id:空閒百分比

0.0 wa(wait):等待IO完成所消耗的百分比

0.0 hi:處理硬體中斷所佔用的百分比

0.0 si:處理軟體中斷所佔用的百分比

0.0 st:被偷走的百分比(虛擬化程式)

KiB Mem :  1001332 total,   681052 free,   139844 used,   180436 buff/cache

KiB Mem:記憶體空間佔用,以KB為單位:

1001332 total:總記憶體空間

681052 free:剩餘記憶體空間

139844 used:已用記憶體空間

180436 buff/cache:用於快取和緩衝的記憶體空間

KiB Swap:  2098172 total,  2098172 free,        0 used.   698100 avail Mem 

KiB Swap:swap空間佔用,以KB為單位

2098172 total:總空間

2098172 free:剩餘空間

0 used:已用空間

698100 avail Mem :有效swap大小

 PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND             

3077 root      20   0  146276   2256   1420 R  1.7  0.2   0:02.91 top  

PID:使用者pid

USER:使用者名稱稱

PR:優先順序

NI:nice值

VIRT:virtual size虛擬記憶體集

RES:常駐記憶體集

SHR:共享記憶體空間

S:當前狀態

%CPU:佔據CPU百分比

%MEM:佔據MEM百分比

TIME+:執行時長

COMMAND:命令

top內排序:

P:以佔據CPU百分比排序

M:以佔據記憶體百分比排序

T:累積佔用CPU時間排序

首部資訊:

uptime資訊:l命令

# 第一行沒有顯示

linux

tasks及cpu資訊:t命令

# 可以禁用顯示硬碟及cpu相關訊息

linux

記憶體資訊:m命令

# 可以將記憶體使用率用|||顯示 或者白空格顯示

linux

退出命令:q

修改重新整理時間間隔:s

linux

終止指定的程序:k

linux

選項:

-d #:指定重新整理時間間隔,預設為3秒;

 -b:以批次方式顯示;

-n #:顯示多少批次;

六、劍法一流“冷血”[htop]

htop:互動式程序檢視器
htop [-dus]

linux

# htop 是一個非常強大的工具,下面從F1到F10可以看到具體的引數資訊。

# F1 :幫助資訊

linux

選項:

-d #:指定延遲時間間隔

-u UserName:僅顯示指定使用者的程序

-s COLUME:以指定欄位進行排序

常用子命令:

l:顯示選定的程序開啟的檔案列表

s:跟蹤選定的程序的系統呼叫

t:以層級關係顯示各程序狀態

a:將選定的程序繫結至某指定的CPU核心

# 此處可以新增指定項到顯示螢幕上面,顯示方式可以是[Bar] [Text] [Graph] [LED]

linux

程序管理相關命令就介紹到這了,如果有不同意見可以慷慨提出!

來自:來自http://www.tiejiang.org/5110.html