一、概述
sar(System Activity Reporter,系统活动情况报告)是Linux下系统运行状态统计工具,可从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。算是一个万能的小能手。
二、安装
ubuntu下:
执行后会遇到以下错误,sa07中的07是当天的日期,原因是由于没有创建该文件。解决方法:
三、 命令
语法
1.类型 就是我们要获取的是哪个类型的指标数据,这里的-n,代表的是监控一些网络信息
2.类型参数 有的类型带有参数,有的没有。这里的DEV,代表的是监控网卡信息
3.间隔时间 每次报告的间隔时间(秒)
4.次数
显示报告的次数。如:时间间隔是2,采样次数是3,那么sar命令将阻塞12秒钟。
帮助
四、举例
Linux下的资源监控,主要有下面几种:有磁盘、CPU、网络、内存、IO等。
1. CPU信息
我们就先从cpu信息开始说起。作为计算机的大脑,作为一个指挥者,我们要监控它的一举一动。实际上,对于CPU有下面三种监控:利用率,负载,中断。
(1)CPU利用率
使用sar -u,我们看下它的执行结果。可以看到每种类型的使用情况,和top命令中的意义,是一样的。
字段说明
(2)报个每个CPU的使用状态:
字段说明
(3)CPU负载 使用sar -q,同样的,和top的参数意义是相似的。除了load值,它还显示了等待队列的长度,对于排查排队问题非常有帮助。
字段说明
(4)中断
使用sar -I,注意i是大写的。由于有不同的换算方式,所以中断的参数,分为默认、SUM、ALL等。
(5)上下文切换
使用sar -w,它经常与监控swap交换分区的使用情况的sar -W(注意大小写)搞混,所以要注意。
2. 内存信息
内存主要是分为下面这些部分,我们平常监控的,主要是物理内存、虚拟内存、内核等。
(1)内存利用率
使用sar -r命令。有些sar版本可能会有sar -R,但一般小写的就够了。
字段说明
(2)swap交换分区
对于swap分区来说,就可以使用sar -S。效果如下。如果想要看交换分区的使用情况(非容量情况),就要切换到sar -W命令。
(3)内核使用情况
主要是使用sar -v命令。v一般在别的命令中用作版本展示,sar命令用来输出slab区的一些信息,可以说是特立独行,不走寻常路。
字段说明
(4)监控内存分页信息, 主要是使用sar -B命令。(注意他的发音!很牛掰!) 执行结果如下:
(5)查看系统swap分区的统计信息:
字段说明
(6)查看I/O和传递速率的统计信息
字段说明
(7)磁盘使用详情统计
字段说明
3. I/O信息
IO信息监控,同样是一个响亮的sar -b,不过这里的b,变成了小写的。
字段说明
sar -d命令非常类似于iostat命令,结果更多。
字段说明
4. 网络信息
(1) 统计网络信息
接下来,我们看最复杂的网络信息。说它复杂,是因为它的参数非常的多,比如上面说到的DEV,就表示的网络流量。
要命的是,这些参数的每个输出,还都不是一样的。可能是26个字母已经无法涵盖这么多参数了吧,所以sar命令统一把它加在了sar -n下面。好在我们平常使用的时候,只和DEV参数打交道既可以了。
#sar -n选项使用6个不同的开关:DEV,EDEV,NFS,NFSD,SOCK,IP,EIP,ICMP,EICMP,TCP,ETCP,UDP,SOCK6,IP6,EIP6,ICMP6,EICMP6和UDP6 ,DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。
(2) 每间隔1秒统计一次,总计统计1次
字段说明
下面的average是在多次统计后的平均值
(3) 统计网络设备通信失败信息:
字段说明
(4) 统计socket连接信息
字段说明
使用FULL关键字,相当于上述DEV、EDEV和SOCK三者的综合。
(5) TCP连接的统计
字段说明
(6) sar -n 使用总结
五、ksar
Ksar可以用来分析系统性能数据,其优势在于不需要单独去收集性能数据,系统自带有sar包,通过命令转换即可使用Ksar展现。
安装该软件需要先安装java,如果已经安装调到第5步。
1. 下载java
jdk-8u202-linux-x64.tar.gz下载地址如下:
https://ch1-ctc-dd.tv002.com/down/d743c682d992b1c39f64ba78ce0d86e8/jdk-8u202-linux-x64.tar.gz?cts=dx-f-D121A237A240A189F43372&ctp=121A237A240A189&ctt=1615408146&limit=1&spd=65000&ctk=d743c682d992b1c39f64ba78ce0d86e8&chk=3bf885e6cb28751b351749779a461744-194042837&mtd=1
2. 解压
拷贝jdk-8u202-linux-x64.tar.gz到ubuntu的/home/peng/jdk下
3. 设置环境变量
在文件尾加入以下内容
使环境变量生效
4. 测试java
java版本为1.8.0_202
5. 下载ksar源码
然后解压并进入源码根目录,执行脚本:
可启动此软件
ksar
6. 操作
执行命令,点击Data->Run local command
可以执行以下命令:
点击对应的硬件信息,就可以以图形化形式查看对应的硬件信息内容。非常直观方便。
原文地址:https://mp.weixin.qq.com/s/IPFBrbCUhACUdVIch5IehA