1. 程式人生 > >使用w查看系統負載 vmstat命令 top命令 sar命令nload命令

使用w查看系統負載 vmstat命令 top命令 sar命令nload命令

單獨 用戶 應該 AC proc 登入 -i 磁盤io run

w命令 w命令用於顯示已經登陸系統的用戶列表,並顯示用戶正在執行的指令。執行這個命令可得知目前登入系統的用戶有那些人,以及他們正在執行的程序。單獨執行w命令會顯示所有的用戶,您也可指定用戶名稱,僅顯示某位用戶的相關信息。 vmstat命令 vmstat命令的含義為顯示虛擬內存狀態(“Viryual Memor Statics”),但是它可以報告關於進程、內存、I/O等系統整體運行狀態。 [root@pantinglinux]# vmstat 3 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 0 76280 136468 569488 0 0 2 3 1 8 0 0 100 0 0 0 0 0 76140 136468 569520 0 0 0 0 124 285 0 0 100 0 0 0 0 0 76140 136476 569516 0 0 0 4 120 278 0 0 100 0 0 0 0 0 76140 136476 569520 0 0 0 0 103 260 0 0 100 0 0 0 0 0 76140 136476 569520 0 0 0 0 104 264 0 0 99 0 0 0 0 0 76140 136476 569520 0 0 0 0 106 262 0 0 100 0 0 0 0 0 76140 136476 569520 0 0 0 0 106 265 0 0 100 0 0 Procs(進程) r: 運行隊列中進程數量,這個值也可以判斷是否需要增加CPU。(長期大於1) b: 等待IO的進程數量。 Memory(內存) swpd: 使用虛擬內存大小,如果swpd的值不為0,但是SI,SO的值長期為0,這種情況不會影響系統性能。 free: 空閑物理內存大小。 buff: 用作緩沖的內存大小。 cache: 用作緩存的內存大小,如果cache的值大的時候,說明cache處的文件數多,如果頻繁訪問到的文件都能被cache處,那麽磁盤的讀IO bi會非常小。 Swap si: 每秒從交換區寫到內存的大小,由磁盤調入內存。 so: 每秒寫入交換區的內存大小,由內存調入磁盤。 註意:內存夠用的時候,這2個值都是0,如果這2個值長期大於0時,系統性能會受到影響,磁盤IO和CPU資源都會被消耗。有些朋友看到空閑內存(free)很少的或接近於0時,就認為內存不夠用了,不能光看這一點,還要結合si和so,如果free很少,但是si和so也很少(大多時候是0),那麽不用擔心,系統性能這時不會受到影響的。 IO(現在的Linux版本塊的大小為1kb) bi: 每秒讀取的塊數 bo: 每秒寫入的塊數 註意:隨機磁盤讀寫的時候,這2個值越大(如超出1024k),能看到CPU在IO等待的值也會越大。 system(系統) in: 每秒中斷數,包括時鐘中斷。 cs: 每秒上下文切換數。 註意:上面2個值越大,會看到由內核消耗的CPU時間會越大。 CPU(以百分比表示) us: 用戶進程執行時間百分比(user time) us的值比較高時,說明用戶進程消耗的CPU時間多,但是如果長期超50%的使用,那麽我們就該考慮優化程序算法或者進行加速。 sy: 內核系統進程執行時間百分比(system time) sy的值高時,說明系統內核消耗的CPU資源多,這並不是良性表現,我們應該檢查原因。 wa: IO等待時間百分比 wa的值高時,說明IO等待比較嚴重,這可能由於磁盤大量作隨機訪問造成,也有可能磁盤出現瓶頸(塊操作)。 id: 空閑時間百分比 TOP命令
選項 -b:以批處理模式操作; -c:顯示完整的治命令; -d:屏幕刷新間隔時間; -I:忽略失效過程; -s:保密模式; -S:累積模式; -i<時間>:設置間隔時間; -u<用戶名>:指定用戶名; -p<進程號>:指定進程; -n<次數>:循環顯示的次數。 top交互命令 在top命令執行過程中可以使用的一些交互命令。這些命令都是單字母的,如果在命令行中使用了-s選項, 其中一些命令可能會被屏蔽。 h:顯示幫助畫面,給出一些簡短的命令總結說明; k:終止一個進程; i:忽略閑置和僵死進程,這是一個開關式命令; q:退出程序; r:重新安排一個進程的優先級別; S:切換到累計模式; s:改變兩次刷新之間的延遲時間(單位為s),如果有小數,就換算成ms。輸入0值則系統將不斷刷新,默認值是5s; f或者F:從當前顯示中添加或者刪除項目; o或者O:改變顯示項目的順序; l:切換顯示平均負載和啟動時間信息; m:切換顯示內存信息; t:切換顯示進程和CPU狀態信息; c:切換顯示命令名稱和完整命令行; M:根據駐留內存大小進行排序; P:根據CPU使用百分比大小進行排序; T:根據時間/累計時間進行排序; w:將當前設置寫入~/.toprc文件中。 實例 top - 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92 Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2% 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4147888k total, 2493092k used, 1654796k 158188k buffers Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached top - 09:44:56[當前系統時間], 16 days[系統已經運行了16天], 1 user[個用戶當前登錄] load average: 9.59, 4.75, 1.92[系統負載,即任務隊列的平均長度] Tasks: 145 total[總進程數], 2 running[正在運行的進程數], 143 sleeping[睡眠的進程數], 0 stopped[停止的進程數], 0 zombie[凍結進程數], Cpu(s): 99.8%us[用戶空間占用CPU百分比], 0.1%sy[內核空間占用CPU百分比], 0.0%ni[用戶進程空間內改變過優先級的進程占用CPU百分比], 0.2%id[空閑CPU百分比], 0.0%wa[等待輸入輸出的CPU時間百分比], 0.0%hi[], 0.0%st[], Mem: 4147888k total[物理內存總量], 2493092k used[使用的物理內存總量], 1654796k free[空閑內存總量], 158188k buffers[用作內核緩存的內存量] Swap:&nbsp; 5144568k total[交換區總量], 56k used[使用的交換區總量], 5144512k free[空閑交換區總量], 2013180k cached[緩沖的交換區總量], sar命令

系統監控

[root@pantinglinux]# yum install -y sysstat

sar 每10分鐘會把系統的狀態抓一遍保存日誌文件到目錄/var/log/sa下

saxx 是以日期結尾。保留數據1個月。

[root@pantinglinux]# ls /var/log/sa

sa01 sa06 sa11 sa16 sa21 sa27 sar01 sar06 sar11 sar16 sar21 sar27

sa02 sa07 sa12 sa17 sa22 sa28 sar02 sar07 sar12 sar17 sar22 sar28

sa03 sa08 sa13 sa18 sa23 sa29 sar03 sar08 sar13 sar18 sar24 sar29

sa04 sa09 sa14 sa19 sa25 sa30 sar04 sar09 sar14 sar19 sar25 sar30

sa05 sa10 sa15 sa20 sa26 sa31 sar05 sar10 sar15 sar20 sar26 sar31

查看22號的使用網卡流量的情況:

[root@pantinglinux]# sar -n DEV -f /var/log/sa/sa22

sar -n DEV 查看網卡流量

sar -n DEV 1 2 每1秒顯示一次,顯示2次

[root@pantinglinux]# sar -n DEV 1 2

Linux 3.10.0-693.2.2.el7.x86_64 (centos7.4) 2018年01月23日 _x86_64_ (1 CPU)

00時09分15秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

00時09分16秒 eth0 2.00 1.00 0.13 0.10 0.00 0.00 0.00

00時09分16秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

00時09分16秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

00時09分17秒 eth0 1.00 1.00 0.06 0.18 0.00 0.00 0.00

00時09分17秒 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

平均時間: eth0 1.50 1.00 0.10 0.14 0.00 0.00 0.00

平均時間: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

IFACE 兩個網卡 eth0 和lo

rxpck/s (received package)表示接收到的數據包量的多少

txpck/s 表示發送的數據包量的多少

接收到的數據包幾千KB/S 算是正常,上萬KB/S 可能被攻擊了。

rxkB/s 接收的數據量KB

txkB/s 發送的數據量KB

sar -q 1 10 查看系統負載,每1秒顯示,顯示10次

[root@pantinglinux]# sar -q 1 10

Linux 3.10.0-693.2.2.el7.x86_64 (centos7.4) 2018年01月23日 _x86_64_ (1 CPU)

00時40分40秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked

00時40分41秒 0 299 0.00 0.01 0.05 0

00時40分42秒 0 299 0.00 0.01 0.05 0

00時40分43秒 0 299 0.00 0.01 0.05 0

00時40分44秒 0 299 0.00 0.01 0.05 0

00時40分45秒 0 299 0.00 0.01 0.05 0

00時40分46秒 0 299 0.00 0.01 0.05 0

00時40分47秒 0 299 0.00 0.01 0.05 0

00時40分48秒 0 299 0.00 0.01 0.05 0

00時40分49秒 0 299 0.00 0.01 0.05 0

00時40分50秒 0 299 0.00 0.01 0.05 0

平均時間: 0 299 0.00 0.01 0.05 0

指定日期查看系統負載情況:

[root@pantinglinux]# sar -q -f /var/log/sa/sa23

Linux 3.10.0-693.2.2.el7.x86_64 (centos7.4) 2018年01月23日 _x86_64_ (1 CPU)

00時00分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked

00時10分01秒 2 299 0.00 0.05 0.07 0

00時20分01秒 2 299 0.01 0.02 0.05 0

00時30分01秒 2 301 0.00 0.01 0.05 0

00時40分01秒 2 299 0.00 0.01 0.05 0

平均時間: 2 300 0.00 0.02 0.06 0

查看磁盤使用情況

sar -b 1 5 每秒顯示1次,顯示5次

[root@pantinglinux]# sar -b 1 5

Linux 3.10.0-693.2.2.el7.x86_64 (centos7.4) 2018年01月23日 _x86_64_ (1 CPU)

00時44分03秒 tps rtps wtps bread/s bwrtn/s

00時44分04秒 0.00 0.00 0.00 0.00 0.00

00時44分05秒 0.00 0.00 0.00 0.00 0.00

00時44分06秒 0.00 0.00 0.00 0.00 0.00

00時44分07秒 0.00 0.00 0.00 0.00 0.00

00時44分08秒 0.00 0.00 0.00 0.00 0.00

平均時間: 0.00 0.00 0.00 0.00 0.00

sa17&&sar17區別:

ls /var/log/sa/sa17

Sa17是一個二進制文件,不能cat,只能用sar -n DEV -f /var/log/sa/sa17查看

ls /var/log/sa/sar17,sar17可以cat

nload命令

安裝epel-release

[root@pantinglinux]# yum install -y epel-release

安裝noload

[root@pantinglinux]# yum install -y nload

[root@pantinglinux]# nload

Device eth0 [192.168.1.81] (1/2):

================================================================================================

Incoming:

Curr: 1.02 kBit/s

Avg: 2.45 kBit/s

Min: 1.02 kBit/s

Max: 7.89 kBit/s

Ttl: 31.20 MByte

Outgoing:

Curr: 8.08 kBit/s

Avg: 8.61 kBit/s

Min: 4.46 kBit/s

Max: 13.66 kBit/s

Ttl: 17.06 MByte

兩個網卡,按上下鍵切換網卡

使用w查看系統負載 vmstat命令 top命令 sar命令nload命令