1. 程式人生 > >系統狀態查看工具

系統狀態查看工具

文件 鏡像 改變 總量 用戶 lda 歷史記錄 大小 存儲

w查看系統負載

第一列信息:啟動的時間(運行時長) ,登錄用戶數量,平均負載:1分鐘,5分鐘,15分鐘的CPU平均負載
1分鐘內有多少個進程等待cpu排隊處理,小數點位之前的表示一個進程,查看/proc/cpuproc文件來查看cpu個數;顯示的cpu個數為邏輯cpu個數,一個邏輯cpu在一定時間內只能處理一個進程,多的進程會處於掛起等待狀態,等待進程會顯示在平均負載信息中

[root@localhost src]# w
 19:56:00 up 1 day, 6:32, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 三13 14:55m 0.08s 0.08s -bash
root pts/0 192.168.1.112 18:58 0.00s 0.06s 0.00s w
root pts/1 192.168.1.112 10:13 2:40m 0.23s 0.23s -bash

vmstat工具

使用vmstat查看系統運行的狀態詳情

[root@localhost src]# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r b    swpd  free   buff         cache    si so bi bo   in cs     us sy id wa st
 2 0    44    85676   0           809116   0   0  5 18   23 23     1  0  99  0 0
 0 0    44    85660   0           809116   0   0  0  0   13 15     0  0 100  0 0
 0 0    44    85660   0           809116   0   0  0  0   13 15     0  0 100  0 0

vmstat 運行間隔 運行次數 可以寫數字表示每隔多長時間輸出一次且輸出多少次
r run 表示多少進程在cpu中為run的運行狀態
b block 進程等待網絡響應的狀態
swpd 交換分區的使用狀態
si swap int 有多少數據塊從swap中進入內存當中
so swap out 數據從內存中進入swap中
bi 從磁盤中讀取數據量
bo 從磁盤中寫入數據量
us 用戶態的cpu使用狀態
sy 系統使用的占比
id 空閑狀態
wa 等待cpu響應進程的百分比

top命令

[root@localhost src]# top
top - 23:13:14 up 1 day, 9:49, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1016476 total, 85040 free, 122124 used, 809312 buff/cache
KiB Swap: 2097148 total, 2097104 free, 44 used. 691220 avail Mem 
  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                                     
  744 root 20 0 0 0 0 S 0.3 0.0 0:49.06 kworker/0:1                                         
    1 root 20 0 43268 2972 1724 S 0.0 0.3 0:01.20 systemd                                   
    2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd                                             
    3 root 20 0 0 0 0 S 0.0 0.0 0:00.46 ksoftirqd/0

第一行:
當前系統時間和運行時長,2user 當前有兩個用戶登錄在系統,load average 系統在1分鐘、5分鐘、15分鐘裏的平均負載狀況(load average5秒輸出一下活躍進程數,這個數除以邏輯cpu數,結果高於5則表明超負荷運行)

第二行:
Tasks 任務進程數量,91 total為進程總數量,1running 為運行中的進程數,90 sleeping 為休眠中的進程數,stopped為終止(暫停)未運行的進程,zombie為僵屍進程

第三行:
%Cpu(s) cpu使用狀態:
us 用戶空間占用cpu占比
sy 系統內核占用cpu占比
ni 用戶進程空間改變優先級的進程占用cpu的占比
id 空閑cpu使用占比
wa 等待輸入輸出的進程(I/O)cpu使用占比
hi 指CPU處理硬件中斷的時間
si 指CPU處理軟中斷的時間
st 虛擬cpu被占用比,如虛擬化

第四行:內存狀態
total — 物理內存總量
used — 使用中的內存總量
free — 空閑內存總量
buffers — 緩存的內存量

第五行:swap交換分區
total — 交換區總量
used — 使用的交換區總量
free — 空閑交換區總量
cached — 緩沖的交換區總量

如果出於習慣去計算可用內存數,這裏有個近似的計算公式:第四行的free + 第四行的buff/cache + 第五行的cached,按這個公式此臺服務器的可用內存加虛擬內存總量
對於內存監控,在top裏我們要時刻監控第五行swap交換分區的used,如果這個數值在不斷的變化,說明內核在不斷進行內存和swap的數據交換,這是真正的內存不夠用了

第七行:
各進程(任務)的狀態監控
PID — 進程id
USER — 進程所有者
PR — 進程優先級
NI — nice值。負值表示高優先級,正值表示低優先級
VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
SHR — 共享內存大小,單位kb
S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程
%CPU — 上次更新到現在的CPU時間占用百分比
%MEM — 進程使用的物理內存百分比
TIME+ — 進程使用的CPU時間總計,單位1/100秒
COMMAND — 進程名稱(命令名/命令行)

top命令及快捷鍵
top -c 查看進程的詳細信息,進程運行的指令、文件等

[root@localhost src]# top -c
top - 00:56:10 up 1 day, 11:32, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.1 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1016476 total, 84900 free, 122256 used, 809320 buff/cache
KiB Swap: 2097148 total, 2097104 free, 44 used. 691088 avail Mem 
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                                     
1 root 20 0 43268 2972 1724 S 0.0 0.3 0:01.21 /usr/lib/systemd/systemd --system --deserialize 15    
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 [kthreadd]                                            
3 root 20 0 0 0 0 S 0.0 0.0 0:00.47 [ksoftirqd/0]   

top -bn1 列出所有進程

默認按照cpu使用率排序
M 按照內存使用率排序
P 安裝cpu使用率排序
1 列出所有cpu(邏輯)百分比情況
o 改變顯示項目的順序。
l 切換顯示平均負載和啟動時間信息。
m 切換顯示內存信息。
t 切換顯示進程和CPU狀態信息。
c 切換顯示命令名稱和完整命令行。

sar命令

安裝sar工具,默認沒有安裝

[root@localhost src]# yum install -y sysstat
已加載插件:fastestmirror
base | 3.6 kB 00:00:00     
epel/x86_64/metalink | 6.5 kB 00:00:00     
epel | 3.2 kB 00:00:00     
extras | 3.4 kB 00:00:00     
updates | 3.4 kB 00:00:00     
(1/3): epel/x86_64/group_gz                                    | 88 kB 00:00:00     
(2/3): epel/x86_64/updateinfo                                   | 926 kB 00:00:01     
(3/3): epel/x86_64/primary                                        | 3.5 MB 00:00:05  
  sysstat.x86_64 0:10.1.5-13.el7                                                                                          

作為依賴被安裝:
  lm_sensors-libs.x86_64 0:3.4.0-4.20160601gitf9185e5.el7                                                                 

完畢!

sar 工具命令
sar -n DEV 1 5
#-n 指定查看網卡信息類型
-q 指定查看系統平均負載
-b 指定查看磁盤讀寫速率
-f 指定保存的歷史記錄文件,查看歷史記錄中使用的狀態
DEV查看網卡信息 1 隔一秒輸出一次 5 輸出5次後停止輸出

[root@localhost src]# sar -n DEV 1 5
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年07月06日 _x86_64_    (1 CPU)

01時04分19秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01時04分20秒 enp0s3 2.97 0.99 0.17 0.20 0.00 0.00 0.00
01時04分20秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

01時04分20秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01時04分21秒 enp0s3 0.99 0.99 0.06 0.40 0.00 0.00 0.00
01時04分21秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

01時04分21秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01時04分22秒 enp0s3 2.00 1.00 0.12 0.40 0.00 0.00 0.00
01時04分22秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

01時04分22秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01時04分23秒 enp0s3 2.00 1.00 0.12 0.40 0.00 0.00 0.00
01時04分23秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

01時04分23秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01時04分24秒 enp0s3 4.00 1.00 0.23 0.40 0.00 0.00 0.00
01時04分24秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

平均時間: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
平均時間: enp0s3 2.39 1.00 0.14 0.36 0.00 0.00 0.00
平均時間: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

rxpck/s 每秒發送的數據包數量
txpck/s 每秒接收的數據包數量
rxkB/s 每秒發送的數據量kb單位
txkB/s 每秒接收的數據量kb單位

sar命令有記錄歷史信息的文件,歷史文件存儲在 /var/log/sa/目錄下,以每月日期命名,最長保留一個月的記錄。歷史記錄使用(如查看網絡歷史):sar -n DEV -f /var/log/sa/sa01
/var/log/sa/目錄下文件格式有sa和sar兩種的文件,sa命名的文件是二進制文件只能通過sar命令來查看,而sar文件是一個文本文件,可以通過cat grep less等命令來操作和查看

[root@localhost src]# sar -n DEV -f /var/log/sa/sa06 
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年07月06日 _x86_64_    (1 CPU)

01時10分01秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01時20分01秒 enp0s3 2.56 0.05 0.16 0.00 0.00 0.00 0.00
01時20分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均時間: enp0s3 2.56 0.05 0.16 0.00 0.00 0.00 0.00
平均時間: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

sar 查看系統平均負載,同樣可以通過文件查看歷史記錄

[root@localhost src]# sar -q 1 3
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年07月06日 _x86_64_    (1 CPU)
01時29分17秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
01時29分18秒 0 185 0.00 0.01 0.05 0
01時29分19秒 0 186 0.00 0.01 0.05 0
01時29分20秒 0 186 0.00 0.01 0.05 0
平均時間: 0 186 0.00 0.01 0.05 0

sar查看磁盤使用狀態,同樣可以通過文件查看歷史記錄

[root@localhost src]# sar -b 1 4
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年07月06日 _x86_64_    (1 CPU)
01時29分26秒 tps rtps wtps bread/s bwrtn/s
01時29分27秒 0.00 0.00 0.00 0.00 0.00
01時29分28秒 0.00 0.00 0.00 0.00 0.00
01時29分29秒 0.00 0.00 0.00 0.00 0.00
01時29分30秒 0.00 0.00 0.00 0.00 0.00
平均時間: 0.00 0.00 0.00 0.00 0.00

nload網絡分析工具

nload包默認沒有安裝,安裝nload之前需要安裝擴展yum源
在使用國內鏡像的情況下使用yum install -y epel-release一般都能進行安裝
安裝nload


[root@localhost src]# yum install nload
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.huaweicloud.com
正在解決依賴關系
--> 正在檢查事務
---> 軟件包 nload.x86_64.0.0.7.4-4.el7 將被 安裝
--> 解決依賴關系完成
Running transaction
  正在安裝 : nload-0.7.4-4.el7.x86_64 1/1 
  驗證中 : nload-0.7.4-4.el7.x86_64 1/1 

已安裝:
  nload.x86_64 0:0.7.4-4.el7                                                                                              

完畢!

直接執行nload可以查看網卡的傳輸狀態

Device enp0s3 [l92 l 168.1.2231 (1/2):
Incoming:
                                                  Curr: 888. 00 Bit/s
                                                  Avg: 1.68 kBit/s
                                                  Min: 888.00 Bit/s
                                                  Max: 6.98 kBit/s
                                                  Ttl: 84.19 MByte

  outgoing:
                                                  Curr: 8.07 kBit/s 
                                                  Avg: 8.31 kBit/s
                                                  Min: 423 kBit/s
                                                  Max: 9.45 kBit/s
                                                  Ttl: 8.85 MByte

Incoming為輸入流量速率
Outgoing為輸出流量速率
Curr 為實時的傳輸數據量
Avg 為平均一段時間中的數據量
Min 傳輸速率最小值
Max 傳輸速率最大值
Ttl 累計傳輸總量
nload 實時查看頁面可以用方向鍵←和→查看不同網卡的速率情況

系統狀態查看工具