查看系统负载 sar命令
2016-08-10
查看系统负载 sar 命令
sar 命令很强大,它可以监控系统所有资源状态。比如,平均负载、网卡流量、磁盘状态、内存使用等。它可以打印历史信息,可以显示当天从零点开始到当前时刻的系统状态信息。如果系统没有这个命令,用 yum install -y sysstat 安装。初次使用 sar 会报错,那是因为 sar 工具还没生成相应的数据库文件(时时监控就不会了,因为不用去查询那个库文件)。它的数据库文件在“/var/log/sa/”下。
(1)查看网卡流量 sar -n DEV
[root@localhost ~]# sar -n DEV
Linux 2.6.32-431.23.3.el6.x86_64 (localhost) 05/28/2016 _x86_64_ (1 CPU)
12:00:01 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
12:10:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:10:01 AM eth0 0.02 0.03 0.00 0.00 0.00 0.00 0.00
12:10:01 AM eth1 0.11 0.09 0.01 0.01 0.00 0.00 0.00
12:20:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:20:01 AM eth0 0.02 0.04 0.00 0.00 0.00 0.00 0.00
12:20:01 AM eth1 0.17 0.17 0.01 0.01 0.00 0.00 0.00
12:30:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:30:01 AM eth0 0.02 0.05 0.00 0.00 0.00 0.00 0.00
12:30:01 AM eth1 0.09 0.07 0.00 0.00 0.00 0.00 0.00
12:40:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:40:01 AM eth0 0.01 0.02 0.00 0.00 0.00 0.00 0.00
12:40:01 AM eth1 0.12 0.10 0.01 0.01 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 0.03 0.04 0.00 0.00 0.00 0.00 0.00
Average: eth1 0.17 0.15 0.01 0.01 0.00 0.00 0.00
信息太多,没有全部贴出来。IFACE 这列是设备名称,rxpcks/s 表示每秒进入收取的包的数量,txpcks/s 表示每秒发送出去的包的数量,rxKB/s 表示每秒收取的数据量(单位 KByte),txKB/s 表示每秒发送的数据量。如果服务器丢包非常严重,那么就应该看看这个网卡流量是否异常,如果 rxpcks/s 列的数值大于 4000,或者 rxKB/s 列大于 5000 则很有可能被攻击了,正常服务器网卡流量不会高于这么多,除非在拷贝数据。
时时查看网卡流量:sar -n DEV 1 5
另外也可以查看某一天的网卡流量历史,使用 -f 选项,后面跟文件名。RedHat 或 CentOS 发行版 sar 的库文件一定是在/var/log/sa/下:
[root@localhost ~]# sar -n DEV -f /var/log/sa/sa27
Linux 2.6.32-431.23.3.el6.x86_64 (localhost) 05/27/2016 _x86_64_ (1 CPU)
12:00:01 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
12:10:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:10:01 AM eth0 0.02 0.04 0.00 0.00 0.00 0.00 0.00
12:10:01 AM eth1 0.11 0.09 0.01 0.01 0.00 0.00 0.00
12:20:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:40:01 PM eth0 0.02 0.04 0.00 0.00 0.00 0.00 0.00
11:40:01 PM eth1 0.11 0.09 0.00 0.01 0.00 0.00 0.00
11:50:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:50:01 PM eth0 0.01 0.02 0.00 0.00 0.00 0.00 0.00
11:50:01 PM eth1 0.11 0.09 0.00 0.01 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 0.03 0.04 0.00 0.00 0.00 0.00 0.00
Average: eth1 0.15 0.13 0.01 0.01 0.00 0.00 0.00
ls /var/log/sa/ 会看到两种不同的文件,一个是以 sa 开头加日期,一个是 sar 开头加日期,其中 sa 加日期的文件只能通过 sar -f 来查看,另外一种 sar 加日期的文件可以直接 cat。
(2)查看历史负载 sar -q
[root@localhost ~]# sar -q
Linux 2.6.32-431.23.3.el6.x86_64 (localhost) 05/28/2016 _x86_64_ (1 CPU)
12:00:01 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
12:10:01 AM 0 108 0.00 0.00 0.00
12:20:01 AM 0 109 0.00 0.00 0.00
12:30:01 AM 0 108 0.00 0.00 0.00
12:40:01 AM 0 108 0.00 0.00 0.00
12:50:01 AM 0 108 0.00 0.00 0.00
01:00:01 AM 0 108 0.00 0.00 0.00
01:10:01 AM 0 108 0.00 0.00 0.00
http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/sar.html