Linux下要想使用sar工具,需要安装sysstat包,可以通过命令查看是否已经安装
# rpm -qa sysstat
一旦安装成功,就会自动创建一个定式任务,/etc/cron.d/sysstat,这个文件的内容如下
more /etc/cron.d/sysstat
# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
如果没有这个定式任务,我们也可以自己来创建定时任务,就想上面的sa1 1 1 1、sa2 -A即可。
这里用到了两个命令
/usr/lib/sa/sa1
/usr/lib/sa/sa2
sa1:这是一个Shell脚本,通过调用sadc(二进制文件),将数据收集到二进制日志文件。sa1命令还确保每天使用不同的文件。自动创建的定时任务会每隔十分钟运行一次该命令,最好不要改这个值,这是对一般系统折中的值。
sa2:也是一个shell脚本,用来将当日二进制日志文件中所有的数据转储到文本文件中,然后它将清除七天之前的所有日志文件。参数-A指定了从二进制文件中提取哪些数据转储到文本文件中。
这两个命令必须要配合着使用。
生成的日志位于/var/log/sa这个目录下。sa1生成的二进制日志文件命名格式为sa${DATE}。sa2转储的文本文件命名格式为sar${DATE}。
而sar命令使用的就是在/var/log/sa目录下的文件,也可以使用 -f 的方式指定文件。比如
sar -f /var/log/sa/sa10 -u
查看一下/usr/lib/sa/sa1脚本,里面执行这样一句命令:
/usr/lib/sa/sadc -F -L 1 1 -
-F:强制指定一个储存文件,如果文件已存在,就将其转换成sa的二进制文件形式。
-L:给sa文件加互斥锁,不能让两个sadc进程同时写一个sa文件。
跟据sa1脚本中的命令,我们也可以手动的创建sa二进制文件,使用/usr/lib/sa/sadc命令,
# /usr/lib/sa/sadc 1 10 /tmp/zxm_sa
上述命令的作用是:每隔1s写一条记录,写10条,存放到二进制文件/tmp/Zxm_sa中。
查看一下/usr/lib/sa/sa2脚本,里面执行这样一句命令:
/usr/bin/sar -A -f /var/log/sa/sa${DATE} > /var/log/sa/sar${DATE}
-A:列出所有存储在/var/log/sa/sa${DATE}里的统计信息。
-f:指定将要转储的sa文件,默认的参数值为/var/log/sa/sa${DATE}。
根据sa2脚本中的命令,我们也可以手动将sa文件(二进制)转储到sar文件(ASCII文本)中,使用/usr/bin/sar命令,
# /usr/bin/sar -A -f /tmp/zxm_sa> /tmp/zxm_sar
查看CPU -u,这时是一个平均信息。如果查看每一个CPU,使用 -u -P ALL
-q 报告进程队列大小(运行队列和交换队列的平均长度)应该和当时的平均负载相同。
00时00分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
00时10分01秒 0 340 1.41 1.43 1.42
00时20分01秒 0 340 2.11 1.87 1.63
00时30分01秒 0 340 1.97 1.97 1.78
00时40分01秒 0 340 1.37 1.50 1.62
00时50分01秒 0 339 1.27 1.38 1.50
01时00分01秒 0 340 1.05 1.30 1.46
01时10分01秒 0 340 1.00 1.03 1.22
-w 察看进程切换数量
-W 察看Swap使用情况。
-r 查看内存空间和Swap空间使用情况
查看网卡
-n DEV
|
字 段 |
说 明 |
|
IFACE |
LAN接口 |
|
rxpck/s |
每秒钟接收的数据包 |
|
txpck/s |
每秒钟发送的数据包 |
|
rxbyt/s |
每秒钟接收的字节数 |
|
txbyt/s |
每秒钟发送的字节数 |
|
rxcmp/s |
每秒钟接收的压缩数据包 |
|
txcmp/s |
每秒钟发送的压缩数据包 |
|
rxmcst/s |
每秒钟接收的多播数据包 |
查看网卡错误
-n EDEV
|
字 段 |
说 明 |
|
IFACE |
LAN接口 |
|
rxerr/s |
每秒钟接收的坏数据包 |
|
txerr/s |
每秒钟发送的坏数据包 |
|
coll/s |
每秒冲突数 |
|
rxdrop/s |
因为缓冲充满,每秒钟丢弃的已接收数据包数 |
|
txdrop/s |
因为缓冲充满,每秒钟丢弃的已发送数据包数 |
|
txcarr/s |
发送数据包时,每秒载波错误数 |
|
rxfram/s |
每秒接收数据包的帧对齐错误数 |
|
rxfifo/s |
接收的数据包每秒FIFO过速的错误数 |
|
txfifo/s |
发送的数据包每秒FIFO过速的错误数 |
查看Socket
-n SOCK
|
字 段 |
说 明 |
|
totsck |
使用的套接字总数量 |
|
tcpsck |
使用的TCP套接字数量 |
|
udpsck |
使用的UDP套接字数量 |
|
rawsck |
使用的raw套接字数量 |
|
ip-frag |
使用的IP段数量 |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/75321/viewspace-619376/ ,如需转载,请注明出处,否则将追究法律责任。