1. 程式人生 > 實用技巧 >CentOS系統資源監控軟體四大軟體htop,top,ps,dstat

CentOS系統資源監控軟體四大軟體htop,top,ps,dstat


CentOS系統資源監控軟體四大軟體

一、程序資訊

關於程序的基礎知識,用圖來顯示wKiom1b6jcnBIzrmAABRXWJ5n_c249.png

二、ps命令

ps -報告系統程序執行時狀態。

ps [選項]:

選項有三種風格:風格不一樣寫法不一樣,有的加-,有的不加,比較特殊。

UNIX 風格選項, 可以組團選擇,但必須以“-”開頭

BSD 風格選項, 可以組團選擇,但不能以“-”開頭

GNU 風格選項, 必須以兩個“-”開頭

選項1:BSD風格選項

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

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

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

常用組合之一:aux

#psaux
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
root10.00.1193641588?SsMar280:01/sbin/init
root20.00.000?SMar280:00[kthreadd]
root30.00.000?SMar280:00[migration/0]
root40.00.000?SMar280:00[ksoftirqd/0]
root50.00.000?SMar280:00[stopper/0]
root60.00.000?SMar280:00[watchdog/0]
root70.00.000?SMar280:37[events/0]
root80.00.000?SMar280:00[cgroup]
root90.00.000?SMar280:00[khelper]
......

顯示結果欄位:

%CPU:累計CPU時間比例;

%MEM:佔總記憶體比例;

VSZ:虛擬記憶體集;

RSS:Resident Size,常駐記憶體集;不能被放到交換記憶體上的部分。

STAT:BSD風格

R:running or runnable

S:interruptable sleeping

D:uninterruptable sleeping

T:Stopped

Z:zombie

+:前臺程序

l:多執行緒程序

N:低優先順序程序

<:高優先順序程序

s:session leader 會話主導程序

選項2:unix風格

-e:顯示所有程序

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

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

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

常用組合之二:-ef

#ps-eF|head-10
UIDPIDPPIDCSZRSSPSRSTIMETTYTIMECMD
root100484115880Mar28?00:00:01/sbin/init
root200000Mar28?00:00:00[kthreadd]
root320000Mar28?00:00:00[migration/0]
root420000Mar28?00:00:00[ksoftirqd/0]
root520000Mar28?00:00:00[stopper/0]
root620000Mar28?00:00:00[watchdog/0]
root720000Mar28?00:00:37[events/0]
root820000Mar28?00:00:00[cgroup]
root920000Mar28?00:00:00[khelper]

顯示結果欄位分析

PSR:運行於哪顆CPU之上

C:cpu utilization

stime:啟動時間

time:總時間

常用組合之三:-eFH

#ps-eFH|head-3
UIDPIDPPIDCSZRSSPSRSTIMETTYTIMECMD
root2000003月22?00:00:00[kthreadd]
root3200003月22?00:00:10[ksoftirqd/0]



常用組合之四:-eo, axo

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

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

ni:nice值;

priority:priority, 優先順序;

rtprio:real time priority,實時優先順序;

#ps-eopid,ppid,ni,priority,comm|head-10
PIDPPIDNIPRICOMMAND
10020init
20020kthreadd
32--100migration/0
42020ksoftirqd/0
52--100stopper/0
62--100watchdog/0
72020events/0
82020cgroup
92020khelper

三、top命令:

top - display Linux tasks,動態排序的,預設以CPU排序

#top-n1-d3
top-06:38:09up11:19,3users,loadaverage:0.00,0.00,0.00
Tasks:149total,1running,148sleeping,0stopped,0zombie
Cpu(s):0.3%us,0.3%sy,0.0%ni,99.0%id,0.4%wa,0.0%hi,0.1%si,0.0%st
Mem:1004348ktotal,901860kused,102488kfree,54220kbuffers
Swap:2031612ktotal,0kused,2031612kfree,631540kcached

PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
1root2001936415881268S0.00.20:01.95init
2root200000S0.00.00:00.00kthreadd
3rootRT0000S0.00.00:00.00migration/0
4root200000S0.00.00:00.30ksoftirqd/0
5rootRT0000S0.00.00:00.00stopper/0
6rootRT0000S0.00.00:00.33watchdog/0
7root200000S0.00.00:38.21events/0
8root200000S0.00.00:00.00cgroup
9root200000S0.00.00:00.00khelper
10root200000S0.00.00:00.00netns
11root200000S0.00.00:00.00async/mgr
12root200000S0.00.00:00.00pm

top- 21:25:19 up 2 days, 11:38,

2 users, # 線上使用者

load average: 0.00, 0.00, 0.00 # 等待執行佇列長度,長期單個CPU超過3,表明CPU不夠用了

Tasks: 136 total,

1 running, 135 sleeping, 0 stopped, 0 zombie

Cpu(s):

0.0%us, #使用者空間

0.3%sy, #系統空間

0.0%ni, #優先順序使用者執行比例

99.7%id, #空閒百分比

0.0%wa, #等待I/O時間

0.0%hi, #硬體中斷時間

0.0%si, #軟體中斷時間

0.0%st #被偷走的時間---虛擬化偷走CPU時間

Mem: 1004348k total, 679264k used, 325084k free, 143004k buffers

Swap: 2031612k total, 0k used, 2031612k free, 222668k cached

首部資訊調整:

uptime資訊:l鍵開啟或關閉顯示

tasks及cpu資訊:t鍵調整顯示

記憶體資訊:m鍵調整顯示

CPU資訊分CPU顯示:1鍵開啟或關閉顯示

修改重新整理時間間隔:秒為單位,預設為3s

終止指定的程序:k

退出命令:q


選項:

-d #:指定重新整理時間間隔,預設為3秒;怎麼退出?q

-b:以批次方式顯示;

-n #:顯示多少批次;

四、htop命令

top升級版,方便好用的top,額外安裝

選項:

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

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

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

子命令:

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

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

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

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

wKioL1b6iKnxVQrDAAB36hRiYq0441.png

dstat命令:集大成的資源監控原件

- versatile tool for generating system resource statistics

dstat [-afv] [options..] [delay [count]]

常用選項:

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

-C #,#,...,total:顯示CPU某個核心的相關資訊

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

-D sda,sdb,...,tobal

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

-m:Memory的相關統計資料

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

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

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

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

--tcp

--udp

--raw

--socket

--ipc

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

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

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

--top-lantency:延遲最大的程序;

# dstat -dmnrs

-dsk/total- ------memory-usage----- -net/total- --io/total- ----swap---

read writ| used buff cach free| recv send| read writ| used free

5891B 18k| 273M 0 577M 128M| 0 0 |0.25 0.60 |1176k 1023M

wKiom1b6iO7BQFSUAAAegE4LUa0900.png

轉載於:https://blog.51cto.com/kingslanding/1758210