天天看點

w、vmstat、top、sar、nload

使用w檢視系統負載

w/uptime/top 檢視系統負載 

[root@lsxlinux02 awk]# w //當負載大于cpu核數時,cpu使用率不會過大,不太損耗cpu

04:46:08 up 23:19, 2 users, load average: 0.00, 0.01, 0.05

USER TTY LOGIN@ IDLE JCPU PCPU WHAT

root tty1 五05 11:03m 1.83s 1.83s -bash

root pts/0 03:44 0.00s 0.39s 0.01s w

系統時間 啟動多久 登入幾個使用者 系統負載:分别是1、5、15分鐘平均負載(機關時間内,使用活動的程序)

登入的使用者 登入的終端 登入的時間

[root@lsx-02 ~]# uptime 

21:12:21 up 21:50, 3 users, load average: 0.00, 0.01, 0.05

load average: 0.00, 0.01, 0.05 負載多少算合适呢?

需要看有幾核邏輯cpu

cat /proc/cpuinfo 檢視cpu核數

[root@lsx-02 ~]# cat /proc/cpuinfo 

processor : 0說明隻有一核邏輯cpu(n-1)當負載為一的時候最合理 一核cpu處理一個程序

vendor_id : GenuineIntel

cpu family : 6

model : 42

model name : Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz

stepping : 7

microcode : 0x15

cpu MHz : 2591.639

10.2 vmstat指令

vmstat 監控系統狀态(檢視系統瓶頸)

用法 vmstat 1

關鍵的幾列:r,b,swpd,si,so,bi,bo,us,wa

當系統負載值偏高時,可以使用vmstat檢視是哪裡出了問題。

比如負載大于CPU核數了,cpu不夠用了。是什麼原因導緻?程序在幹什麼?都有哪些任務在使用cpu?這時更想檢視系統瓶頸在哪

[root@lsx-02 ~]# vmstat 1 3 一秒鐘顯示一次,隻要顯示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 46844 95764 0 367396 0 1 14 13 23 24 1 0 99 0 0

0 0 46844 95740 0 367396 0 0 0 0 14 17 0 0 100 0 0

0 0 46844 95740 0 367396 0 0 0 0 18 17 0 0 100 0 0

參數 說明

r run 表示多少程序處于run狀态(隻要是在排隊等待就是run狀态)(如果該數值長期大于cpu數量,說明cpu資源不夠了)

b 被cpu其他的硬碟、網絡阻斷了,卡死狀态。block 等待資源的程序數(I/O)

swpd 當記憶體不夠的時候,會把記憶體一部分資料放在swap交換分區(變化頻繁,記憶體不夠)(swap會影響si、so)

si 有多少kb資料由記憶體交換區進入記憶體數量。參照物記憶體

so 由記憶體進入記憶體交換區數量

bi 和磁盤有關。從磁盤出來進入記憶體 讀的資料量有多少

bo 寫入到磁盤裡去(bi、bo這兩數字大在頻繁讀寫影響b)

us 使用者級别跑的資源應用占用cpu百分比 不超過100。(如果長期大于50,系統資源不夠)

sy 系統本身占用多少

id 空閑 (us + sy + id =100)

wa 等待cpu百分比,有多少程序等待cpu。列顯示了IO等待所占用的CPU時間的百分比。這裡wa的參考值為30%,如果wa超過30%,說明IO等待嚴重,這可能是磁盤大量随機通路造成的,也可能磁盤或者磁盤通路控制器的帶寬瓶頸造成的(主要是塊操作)。

10.3 top指令

Top動态的檢視和ps靜态

W檢視系統負載、vmstat檢視系統瓶頸(知道了,記憶體不夠、磁盤讀寫太高。能否知道具體是哪個程序呢?)、可以使用top檢視程序使用資源情況。

top檢視程序使用資源情況

[root@lsx-02 ~]# top

top - 21:53:01 up 22:30, 3 users, load average: 0.00, 0.01, 0.05

Tasks: 214 total, 2 running, 212 sleeping, 0 stopped, 0 zombie

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

KiB Mem: 615596 total, 520364 used, 95232 free, 0 buffers

KiB Swap: 2097148 total, 46844 used, 2050304 free. 367556 cached Mem

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

11845 root 20 0 0 0 0 S 0.3 0.0 0:04.62 kworker/0:1 

11914 root 20 0 123704 1676 1160 R 0.3 0.3 0:00.53 top 

1 root 20 0 49900 3408 2048 S 0.0 0.6 0:05.38 systemd 

task 共有多少任務 在跑的有幾個 幾個處于睡眠 多少停止 多少處于僵屍僵屍:主程序被意外終止了,子程序在那

Cpu百分比 us占用多少 sy占用多少 id空閑 多少wa st被偷走的cpu百分比

st 被偷走的cpu百分比(如果主機做了虛拟化、一些虛拟機會偷走一些cpu)

us 長時間處于60%以上對cpu沒什麼好處(和負載不同,負載可以很高,us可以很低。如果us很高,負載肯定很高。因為cpu很慢,其他程序就要等待,負載就更高)

RES 實體記憶體大小k

PID 程序式号。殺程序可以使用pid

COMMAND 程序名字

大寫的P 按cpu排序(按占用的大到小的順序)

大寫的M 按記憶體排序

數字1 所有cpu使用百分比的情況(平常看到的是平均值)顯示所有核cpu

q 退出

top -c 顯示詳細的程序資訊

top -bn1 靜态顯示所有程序

[root@lsx-02 ~]# top -bn1 适合寫腳本的時候使用

top - 22:17:36 up 22:55, 3 users, load average: 0.03, 0.03, 0.05

Tasks: 213 total, 2 running, 211 sleeping, 0 stopped, 0 zombie

%Cpu(s): 0.5 us, 0.2 sy, 0.0 ni, 99.0 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st

KiB Mem: 615596 total, 520332 used, 95264 free, 0 buffers

KiB Swap: 2097148 total, 46832 used, 2050316 free. 367564 cached Mem

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

11942 root 20 0 123712 1508 1064 R 10.9 0.2 0:00.52 top

11845 root 20 0 0 0 0 S 5.5 0.0 0:05.89 kworker/0:1

1 root 20 0 49900 3408 2048 S 0.0 0.6 0:05.43 systemd

2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd

3 root 20 0 0 0 0 S 0.0 0.0 0:04.55 ksoftirqd/0

5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H

7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0

8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh

10.4 sar指令

Sar是一個全面的分析系統狀态的工具。這裡主要檢視網卡的流量

yum install -y sysstat 

[root@localhost ~]# yum install -y sysstat

[root@localhost ~]# sar //如果不加選項參數,預設調用保留的曆史檔案

無法打開 /var/log/sa/sa23: 沒有那個檔案或目錄(sar每十分鐘會抓一遍系統的狀态放到這個檔案裡)

sar -n DEV 1 4 //顯示網卡流量每秒鐘1次一共4次

[root@localhost ~]# sar -n DEV 1 4

Linux 3.10.0-123.el7.x86_64 (localhost.localdomain) 2017年11月23日 _x8664

22時27分14秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmc

22時27分15秒 eno16777728 0.99 0.99 0.06 0.20 0.00 0.00 

22時27分15秒 lo 0.00 0.00 0.00 0.00 0.00 0.00

22時27分15秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmc

22時27分16秒 eno16777728 1.00 1.00 0.06 0.40 0.00 0.00 

22時27分16秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 

rxpck/s 接收的資料包量。機關個。(受到攻擊就是别人向你的網卡發送大量資料包,量大網卡接收不了,導緻網絡堵塞,網站不能打開)。

rx 接收到的資料包

tx 發送出去的資料包

rxpck/s資料包多少算合适?

2000+正常 上萬不太正常。還需要借用抓包工具判斷是否被攻擊

如果rxpck大于4000或者rxkb大于5000000,可能被攻擊

平時也要看網卡的流量是否跑滿。100M帶寬換算成可以了解的速率12M每秒。也要看下txkB/s

rxkB/s 接收的資料量。機關kb

[root@lsx-02 ~]# sar

Linux 3.10.0-123.el7.x86_64 (lsx-02) 2017年09月16日 _x8664 (1 CPU)

22時50分01秒 CPU %user %nice %system %iowait %steal %idle

23時00分02秒 all 0.01 0.00 0.12 0.01 0.00 99.87

平均時間: all 0.01 0.00 0.12 0.01 0.00 99.87

[root@lsx-02 ~]# ls /var/log/sa/ 已經生成

sa16

sar -f /var/log/sa/saxx 曆史檔案

[root@lsx-02 ~]# sar -n DEV -f /var/log/sa/sa16 可以檢視曆史資料 最多保留一個月

22時50分01秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

23時00分02秒 eno16777736 0.12 0.11 0.01 0.01 0.00 0.00 0.00

23時00分02秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

平均時間: eno16777736 0.12 0.11 0.01 0.01 0.00 0.00 0.00

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

sar17 要第二天才生成,是可以直接cat

sa(二進制檔案) 隻能通過sar –f 檢視

sar -q 系統負載(一般sar -q檢視曆史資料)

sar -q 1 3

Linux 3.10.0-123.el7.x86_64 (localhost.localdomain) 2017年11月23日 _x8664 (1 CPU)

22時55分23秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked

22時55分24秒 1 224 0.00 0.01 0.05 0

22時55分25秒 1 224 0.00 0.01 0.05 0

22時55分26秒 1 224 0.00 0.01 0.05 0

平均時間: 1 224 0.00 0.01 0.05 0

sar -b 磁盤讀寫

sar -b 1 2

22時56分36秒 tps rtps wtps bread/s bwrtn/s

22時56分37秒 0.00 0.00 0.00 0.00 0.00

22時56分38秒 0.00 0.00 0.00 0.00 0.00

平均時間: 0.00 0.00 0.00 0.00 0.00

10.5 nload指令

nload指令

yum install -y epel-release

yum install -y nload

nload

監控網卡流量 分别是網卡名稱、ip、個數。按方向鍵切換。 目前值、平均值、最小值、最大值

買帶寬通常是出去的(out)。100M帶寬,MAX最大76M還沒跑滿但是也快滿了。

量很大(如100M)Curr=100M說明已經滿了

如果被攻擊進來的(Inconing)會很大

本文轉自 蝦米的春天 51CTO部落格,原文連結:http://blog.51cto.com/lsxme/2044961,如需轉載請自行聯系原作者

繼續閱讀