linux系統監控工具
cpu和行程監控:
top:實時監控系統中的各個行程資源占用情況以及總體情況

Tasks: 顯示行程總數,當前運行的行程數
Load average:顯示的是系統的1分鐘,5分鐘,10分鐘的平均負載情況
Uptime: 顯示系統運行了多長時間
PID:系統的行程號
USER:發起該行程的用戶名
PRI:行程優先級
NI:行程優先級的數值
VIRT:行程占用的虛擬記憶體
RES:行程占用占用的物理記憶體
S:行程的運行情況(R:運行;S:休眠;Z:僵死;N:行程優先級為負數)
%CPU行程占用的CPU使用率
%MEM:此行程占用的物理記憶體和總記憶體的百分比
TIME+:啟動行程后占用CPU的累計時長
Command:行程啟動的啟動命令名稱即路徑
mpstat實時監控工具,cpu相關的統計資訊
格式: mpstat -P ALL 2
ALL表示顯示所有CPUs,也可以指定某個CPU;2表示重繪間隔,

%user: 在internal時間段里,用戶態的CPU時間(%),不包含nice值為負行程 (usr/total)*100
%nice: 在internal時間段里,nice值為負行程的CPU時間(%) (nice/total)*100
%sys: 在internal時間段里,內核時間(%) (system/total)*100
%iowait: 在internal時間段里,硬碟IO等待時間(%) (iowait/total)*100
%irq: 在internal時間段里,硬中斷時間(%) (irq/total)*100
%soft: 在internal時間段里,軟中斷時間(%) (softirq/total)*100
%idle: 在internal時間段里,CPU除去等待磁盤IO操作外的因為任何原因而空閑的時間閑置時間(%) (idle/total)*100
記憶體監控:
free:查看記憶體的使用情況

total:物理記憶體大小,就是機器實際的記憶體
used:已使用的記憶體大小,這個值包括了 cached 和 應用程式實際使用的記憶體
free:未被使用的記憶體大小
shared:共享記憶體大小,是行程間通信的一種方式
buffers:被緩沖區占用的記憶體大小(讀快取)
cached:被快取占用的記憶體大小(寫快取)vmstat:對系統的整體情況進行統計,包括內核行程、虛擬記憶體、磁盤、陷阱和 CPU 活動的統計資訊

procs
r串列示運行和等待CPU時間片的行程數,這個值如果長期大于系統CPU個數,就說明CPU資源不足,可以考慮增加CPU;
b串列示在等待資源的行程數,比如正在等待I/O或者記憶體交換等,
memory
swpd串列示切換到記憶體交換區的記憶體數量(以KB為單位),如果swpd的值不為0或者比較大,而且si、so的值長期為0,那么這種情況一般不用擔心,不會影響系統性能;
free串列示當前空閑的物理記憶體數量(以KB為單位);
buff串列示buffers cache的記憶體數量,一般對塊設備的讀寫才需要緩沖;
cache串列示page cached的記憶體數量,一般作檔案系統的cached,頻繁訪問的檔案都會被cached,如果cached值較大,就說明cached檔案數較多,如果此時IO中的bi比較小,就說明檔案系統效率比較好,
swap
si串列示由磁盤調入記憶體,也就是記憶體進入記憶體交換區的數量;
so串列示由記憶體調入磁盤,也就是記憶體交換區進入記憶體的數量
一般情況下,si、so的值都為0,如果si、so的值長期不為0,則表示系統記憶體不足,需要考慮是否增加系統記憶體,
IO
bi串列示從塊設備讀入的資料總量(即讀磁盤,單位KB/秒)
bo串列示寫入到塊設備的資料總量(即寫磁盤,單位KB/秒)
這里設定的bi+bo參考值為1000,如果超過1000,而且wa值比較大,則表示系統磁盤IO性能瓶頸,
system
in串列示在某一時間間隔中觀察到的每秒設備中斷數;
cs串列示每秒產生的背景關系切換次數,
上面這兩個值越大,會看到內核消耗的CPU時間就越多,
CPU
us列顯示了用戶行程消耗CPU的時間百分比,us的值比較高時,說明用戶行程消耗的CPU時間多,如果長期大于50%,需要考慮優化程式啥的,
sy列顯示了內核行程消耗CPU的時間百分比,sy的值比較高時,說明內核消耗的CPU時間多;如果us+sy超過80%,就說明CPU的資源存在不足,
id列顯示了CPU處在空閑狀態的時間百分比;
wa串列示IO等待所占的CPU時間百分比,wa值越高,說明IO等待越嚴重,如果wa值超過20%,說明IO等待嚴重,
st列一般不關注,虛擬機占用的時間百分比,
網路監控
sar: 用來收集、報告和保存CPU、記憶體、輸入輸出埠使用情況的命令,SAR命令可以動態產生報告,也可以把報告保存在日志檔案中,
命令格式:sar -n DEV 3 100

IFACE:網路設備的名稱
rxpck/s:每秒鐘接收到包數目
txpck/s:每秒鐘發送出去包數目
rxkB/s:每秒鐘接收到的位元組數
txkB/s:每秒鐘發送出去的位元組數
netstat:用于檢驗本機各埠的網路連接情況,用于顯示與IP、TCP、UDP和ICMP協議相關的統計資料,
引數:
-a, --all, --listening 顯示所有連接中的Socket,
-n, --numeric 以數字形式顯示地址和埠號,
-t, -–tcp 顯示TCP傳輸協議的連線狀況,
-u, -–udp 顯示UDP傳輸協議的連線狀況,
-p, --programs 顯示正在使用socket的程式名/行程ID
-l, --listening 顯示監控中的服務器的Socket,
-o, --timers 顯示計時器,
-s, --statistics 顯示每個網路協議的統計資訊(比如SNMP)
-i, --interfaces 顯示網路界面資訊表單(網卡串列)
-r, --route 顯示路由表
常用的集中1列子
netstat -aup # 輸出所有UDP連接狀況
? netstat -atp # 輸出所有TCP連接狀況
netstat -s # 顯示各個協議的網路統計資訊
netstat -i # 顯示網卡串列
netstat -r # 顯示路由表資訊
Iface:網路介面名稱
MTU:最大傳輸單元
RX-OK:接收時,正確的資料包數
RX-ERR:接收時,產生錯誤的資料包數
RX-DRP:接收時,丟棄的資料包數
RX-OVR:接收時,由于過速而丟失的資料包數
TX-OK:發送時,正確的資料包數
TX-ERR:發送時,產生錯誤的資料包數
TX-DRP:發送時,丟棄的資料包數
TX-OVR:發送時,由于過速而丟失的資料包數
Flg:標志
B 已經設定了一個廣播地址
L 該介面是一個回送設備
M 接收所有的資料包(混亂模式)
O 在該介面上,禁用ARP
P 這是一個點到點連接
R 介面正在運行
U 介面處于"活動"狀態
磁盤監控
df:是用來檢查linux的檔案系統的磁盤空間占用情況,

引數
- -a 全部檔案系統串列
- -h 以方便閱讀的方式顯示
- -i 顯示inode資訊
- -T 顯示檔案系統型別
- -l 只顯示本地檔案系統
- -k 以KB為單位
- -m 以MB為單位
iostat主要是用來監控磁盤I/O
iostat -x -k 2 100 # 2

r/s: 每秒完成的讀 I/O 設備次數,
w/s: 每秒完成的寫 I/O 設備次數,
rkB/s: 每秒讀K位元組數.是 rsect/s 的一半,因為每扇區大小為512位元組,
wkB/s: 每秒寫K位元組數.是 wsect/s 的一半,
avgrq-sz: 平均每次設備I/O操作的資料大小 (扇區),
avgqu-sz: 平均I/O佇列長度,
await: 平均每次設備I/O操作的等待時間 (毫秒),
svctm: 平均每次設備I/O操作的服務時間 (毫秒),
%util: 一秒中有百分之多少的時間用于 I/O 操作,或者說一秒中有多少時間 I/O 佇列是非空的,
iotop: 一個用來監視磁盤I/O使用狀況的top類工具
引數
- –version 查看程式版本號
- -h, –help 查看幫助資訊
- -o, –only 只查看有IO操作的行程
- -b, –batch 非互動模式
- -n, –iter= 設定迭代次數
- -d, –delay 重繪頻率,默認是1秒
- -p, –pid 查看指定的行程號的IO,默認是所有行程
- -u, –user 查看指定用戶行程的IO,默認是所有用戶
- -P, –processes 只看行程,不看執行緒
- -a, –accumulated 看累計IO,而不是實時IO
- -k, –kilobytes 以KB為單位查看IO,而不是以最友好的單位顯示
- -t, –time 每行添加一個時間戳,默認便開啟–batch
- -q, –quit 不顯示頭部資訊

P, –processes 只看行程,不看執行緒
- -a, –accumulated 看累計IO,而不是實時IO
- -k, –kilobytes 以KB為單位查看IO,而不是以最友好的單位顯示
- -t, –time 每行添加一個時間戳,默認便開啟–batch
- -q, –quit 不顯示頭部資訊
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287490.html
標籤:其他
下一篇:Tomcat多實體部署技術檔案

