linux 命令使用8--sar(超级命令)
1.概述
sar太强大了,和sar比起来,其他Linux命令都是渣
Sar是一个Linux下的监控工具,一直站在鄙视链的顶端。但是往往因繁多的参数,让人望而生畏,不知道怎么使用。然而这么强大命令并非是无章可循,只要我们找到合适的切入点来分析这个工具,就会发现实际上是非常简单的。
格式:
sar命令很简单,它的参数主要分为四部分。其中,第二部分和第三、四部分,是可选的,也就是说,最终要的参数,就剩下一个,那就是选项。不带选项默认是-u。
1.选项,也就是我们要获取的是哪个类型的指标数据,这里的-n,代表的是监控一些网络信息
2.类型参数,有的类型带有参数,有的没有。这里的DEV,代表的是监控网卡信息
3.时间间隔,表示多少秒采样一次数据,这里的1就是1秒
4.次数,表示采样的次数。比如时间间隔是3,采样次数是4,那么sar命令将会阻塞12秒钟
Sar的参数众多,想要一个参数一个参数的记忆,不免会耗费大量时间。所以我们就需要一个切入点,讨论监控工具,不外乎就是监控系统资源,那么自然也就是磁盘、cpu、网络、内存、IO等。
默认监控: sar 1 1 // CPU和IOWAIT统计状态
(1) sar -b 1 1 // IO传送速率
(2) sar -B 1 1 // 页交换速率
(3) sar -c 1 1 // 进程创建的速率
(4) sar -d 1 1 // 块设备的活跃信息
(5) sar -n DEV 1 1 // 网路设备的状态信息
(6) sar -n SOCK 1 1 // SOCK的使用情况
(7) sar -n ALL 1 1 // 所有的网络状态信息
(8) sar -P ALL 1 1 // 每颗CPU的使用状态信息和IOWAIT统计状态
(9) sar -q 1 1 // 队列的长度(等待运行的进程数)和负载的状态
(10) sar -r 1 1 // 内存和swap空间使用情况
(11) sar -R 1 1 // 内存的统计信息(内存页的分配和释放、系统每秒作为BUFFER使用内存页、每秒被cache到的内存页)
(12) sar -u 1 1 // CPU的使用情况和IOWAIT信息(同默认监控)
(13) sar -v 1 1 // inode, file and other kernel tablesd的状态信息
(14) sar -w 1 1 // 每秒上下文交换的数目
(15) sar -W 1 1 // SWAP交换的统计信息(监控状态同iostat 的si so)
(16) sar -x 2906 1 1 // 显示指定进程(2906)的统计信息,信息包括:进程造成的错误、用户级和系统级用户CPU的占用情况、运行在哪颗CPU上
(17) sar -y 1 1 // TTY设备的活动状态
(18) 将结果输出到文件(-o)和读取记录信息(-f)
(19) sar -h // 查看帮助
2.安装
apt-get install sysstat
sysstat工具包中有很多的分析命令,常用的有:sar, iostat, mpstat(multi processor stat), pidstat, vmstat等等。
3.报错
3.1.Cannot open /var/log/sysstat/sa03: No such file or directory, Please check if data collecting is enabled
vi /etc/default/sysstat 修改为ENABLED=“true”
运行 systemctl restart sysstat
4.查看cpu信息
1秒获取一次cpu信息,总共获取2次
Sar -u 1 2
5.查看内存信息
1秒获取一次内存,总共获取2次
Sar -r 1 2
6.查看swap信息
Sar -S 1 2
7.sar -b, sar -B 查看磁盘IO:
sar -b, sar -b 1 5, sar -B, sar -B 1 5. sar -b 查看磁盘tps(iops);sar -B 主要查看每秒磁盘 page/ fault
8.sar -n { keyword [,...] | ALL } 查看网络
sar -n DEV 查看网络设备上的数据包收发情况,sar -n EDEV 查看网络设备上发生的数据包收发错误的情况,sar -n DEV 1 5, sar -n EDEV 1 5.
9.sar -q 查看系统load负载
sar -n DEV 查看网络设备上的数据包收发情况,sar -n EDEV 查看网络设备上发生的数据包收发错误的情况,sar -n DEV 1 5, sar -n EDEV 1 5.