sar(System Activity Reporter,系统活动情况报告)是Linux下系统运行状态统计工具,可从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。算是一个万能的小能手。
ubuntu下:
- root@ubuntu:/home/peng# apt-get install sysstat
- root@ubuntu:/home/peng# sar -r
- Cannot open /var/log/sysstat/sa07: No such file or directory
- Please check if data collecting is enabled
执行后会遇到以下错误,sa07中的07是当天的日期,原因是由于没有创建该文件。解决方法:
- root@ubuntu:/home/peng# chmod o+w /etc/default/sysstat
- root@ubuntu:/home/peng# vim /etc/default/sysstat
1.类型 就是我们要获取的是哪个类型的指标数据,这里的-n,代表的是监控一些网络信息
- -a:文件读写情况
- -A:所有报告的总和
- -B:分页状况
- -b:显示I/O和传送速率的统计信息
- -c:输出进程统计信息,每秒创建的进程数
- -d:块设备状况
- -F [ MOUNT ]:文件系统统计信息
- -H:交换空间利用率
- -I { <中断> | SUM | ALL | XALL }:中断信息状况
- -n:汇报网络情况
- -P:设定CPU
- -q:队列长度和平均负载
- -R:输出内存页面的统计信息
- -r [ ALL ]:输出内存和交换空间的统计信息
- -S:交换空间利用率信息
- -u [ ALL ]:输出CPU使用情况的统计信息
- -v:输出inode、文件和其他内核表的统计信息
- -W:输出系统交换活动信息
- -w:任务创建与系统转换信息
- -y:终端设备活动情况
2.类型参数 有的类型带有参数,有的没有。这里的DEV,代表的是监控网卡信息
3.间隔时间 每次报告的间隔时间(秒)
4.次数
显示报告的次数。如:时间间隔是2,采样次数是3,那么sar命令将阻塞12秒钟。
- root@ubuntu:/home/peng# sar --help
- Usage: sar [ options ] [ <interval> [ <count> ] ]
- Options are:
- [ -A ] [ -B ] [ -b ] [ -C ] [ -D ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ]
- [ -p ] [ -q ] [ -R ] [ -r [ ALL ] ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ]
- [ -v ] [ -W ] [ -w ] [ -y ] [ --sadc ]
- [ -I { <int> [,...] | SUM | ALL | XALL } ] [ -P { <cpu> [,...] | ALL } ]
- [ -m { <keyword> [,...] | ALL } ] [ -n { <keyword> [,...] | ALL } ]
- [ -j { ID | LABEL | PATH | UUID | ... } ]
- [ -f [ <filename> ] | -o [ <filename> ] | -[0-9]+ ]
- [ -i <interval> ] [ -s [ <hh:mm[:ss]> ] ] [ -e [ <hh:mm[:ss]> ] ]
Linux下的资源监控,主要有下面几种:有磁盘、CPU、网络、内存、IO等。
我们就先从cpu信息开始说起。作为计算机的大脑,作为一个指挥者,我们要监控它的一举一动。实际上,对于CPU有下面三种监控:利用率,负载,中断。
(1)CPU利用率
使用sar -u,我们看下它的执行结果。可以看到每种类型的使用情况,和top命令中的意义,是一样的。
- root@ubuntu:/home/peng# sar -u 1 1
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:28:09 AM CPU %user %nice %system %iowait %steal %idle
- 05:28:10 AM all 1.01 0.00 2.02 0.00 0.00 96.97
- Average: all 1.01 0.00 2.02 0.00 0.00 96.97
字段说明
- root@ubuntu:/home/peng# sar -p 1 3
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:29:21 AM CPU %user %nice %system %iowait %steal %idle
- 05:29:22 AM all 1.00 0.00 0.00 0.00 0.00 99.00
- 05:29:23 AM all 1.02 0.00 0.00 0.00 0.00 98.98
- 05:29:24 AM all 1.01 0.00 1.01 0.00 0.00 97.98
- Average: all 1.01 0.00 0.34 0.00 0.00 98.65
- root@ubuntu:/home/peng# sar -q 1 1
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:30:20 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
- 05:30:21 AM 0 440 0.01 0.02 0.00 0
- Average: 0 440 0.01 0.02 0.00 0
使用sar -I,注意i是大写的。由于有不同的换算方式,所以中断的参数,分为默认、SUM、ALL等。
- root@ubuntu:/home/peng# sar -I SUM 1 2
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:31:01 AM INTR intr/s
- 05:31:02 AM sum 250.52
- 05:31:03 AM sum 338.38
- Average: sum 294.90
使用sar -w,它经常与监控swap交换分区的使用情况的sar -W(注意大小写)搞混,所以要注意。
- root@ubuntu:/home/peng# sar -w 1
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:31:53 AM proc/s cswch/s
- 05:31:54 AM 0.00 433.67
- 05:31:55 AM 0.00 734.38
- 05:31:56 AM 0.00 582.65
- 05:31:57 AM 0.00 886.46
内存主要是分为下面这些部分,我们平常监控的,主要是物理内存、虚拟内存、内核等。
使用sar -r命令。有些sar版本可能会有sar -R,但一般小写的就够了。
- root@ubuntu:/home/peng# sar -r 1 1
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:32:54 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
- 05:32:55 AM 281108 1736408 86.07 109040 675176 3345488 110.93 730964 591392 0
- Average: 281108 1736408 86.07 109040 675176 3345488 110.93 730964 591392 0
对于swap分区来说,就可以使用sar -S。效果如下。如果想要看交换分区的使用情况(非容量情况),就要切换到sar -W命令。
- root@ubuntu:/home/peng# sar -S 1 1
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:34:15 AM kbswpfree kbswpused %swpused kbswpcad %swpcad
- 05:34:16 AM 962556 35840 3.59 2808 7.83
- Average: 962556 35840 3.59 2808 7.83
主要是使用sar -v命令。v一般在别的命令中用作版本展示,sar命令用来输出slab区的一些信息,可以说是特立独行,不走寻常路。
- root@ubuntu:/home/peng# sar -v 1
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:34:46 AM dentunusd file-nr inode-nr pty-nr
- 05:34:47 AM 47183 6816 53938 17
- 05:34:48 AM 47183 6816 53938 17
- root@ubuntu:/home/peng# sar -B
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 01:51:34 AM LINUX RESTART (1 CPU)
- 01:55:01 AM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
- 02:05:01 AM 0.00 0.29 23.98 0.00 10.50 0.00 0.00 0.00 0.00
- 02:15:01 AM 0.00 0.23 1.03 0.00 1.90 0.00 0.00 0.00 0.00
- 02:25:01 AM 0.00 0.47 1.73 0.00 2.71 0.00 0.00 0.00 0.00
- root@ubuntu:/home/peng# sar -W
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 01:51:34 AM LINUX RESTART (1 CPU)
- 01:55:01 AM pswpin/s pswpout/s
- 02:05:01 AM 0.00 0.00
- 02:15:01 AM 0.00 0.00
- 02:25:01 AM 0.00 0.00
- 02:35:01 AM 0.00 0.00
- 02:45:01 AM 0.00 0.00
- 02:55:01 AM 0.00 0.00
- root@ubuntu:/home/peng# sar -b
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 01:51:34 AM LINUX RESTART (1 CPU)
- 01:55:01 AM tps rtps wtps bread/s bwrtn/s
- 02:05:01 AM 0.04 0.00 0.04 0.00 0.59
- 02:15:01 AM 0.03 0.00 0.03 0.00 0.47
- root@ubuntu:/home/peng# sar -d
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 01:51:34 AM LINUX RESTART (1 CPU)
- 01:55:01 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
- 02:05:01 AM dev7-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- 02:05:01 AM dev8-0 0.04 0.00 0.59 13.54 0.00 0.00 0.00 0.00
IO信息监控,同样是一个响亮的sar -b,不过这里的b,变成了小写的。
- root@ubuntu:/home/peng# sar -b 1 2
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:41:22 AM tps rtps wtps bread/s bwrtn/s
- 05:41:23 AM 0.00 0.00 0.00 0.00 0.00
- 05:41:24 AM 2.06 0.00 2.06 0.00 65.98
- Average: 1.02 0.00 1.02 0.00 32.65
sar -d命令非常类似于iostat命令,结果更多。
- root@ubuntu:/home/peng# sar -d 1
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:42:03 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
- 05:42:04 AM dev7-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- 05:42:04 AM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- sar -n
接下来,我们看最复杂的网络信息。说它复杂,是因为它的参数非常的多,比如上面说到的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个开关。它们可以单独或者一起使用。
- root@ubuntu:/home/peng# sar -n DEV 1 1
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:45:36 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
- 05:45:37 AM ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- 05:45:37 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
- Average: ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
下面的average是在多次统计后的平均值
- root@ubuntu:/home/peng# sar -n EDEV 1 1
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:46:22 AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
- 05:46:23 AM ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- 05:46:23 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- Average: IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
- Average: ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- root@ubuntu:/home/peng# sar -n SOCK 1 1
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:47:21 AM totsck tcpsck udpsck rawsck ip-frag tcp-tw
- 05:47:22 AM 1393 2 6 0 0 0
- Average: 1393 2 6 0 0 0
使用FULL关键字,相当于上述DEV、EDEV和SOCK三者的综合。
- root@ubuntu:/home/peng# sar -n TCP 1 3
- Linux 4.15.0-112-generic (ubuntu) 03/07/2021 _x86_64_ (1 CPU)
- 05:48:05 AM active/s passive/s iseg/s oseg/s
- 05:48:06 AM 0.00 0.00 0.00 0.00
- 05:48:07 AM 0.00 0.00 0.00 0.00
- 05:48:08 AM 0.00 0.00 0.00 0.00
- Average: 0.00 0.00 0.00 0.00
Ksar可以用来分析系统性能数据,其优势在于不需要单独去收集性能数据,系统自带有sar包,通过命令转换即可使用Ksar展现。
安装该软件需要先安装java,如果已经安装调到第5步。
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
拷贝jdk-8u202-linux-x64.tar.gz到ubuntu的/home/peng/jdk下
- tar -zxvf jdk-8u202-linux-x64.tar.gz
- $sudo vim /etc/profile
在文件尾加入以下内容
- 28 #set java env
- 29 export JAVA_HOME=/home/peng/jdk/jdk1.8.0_202
- 30 export JRE_HOME=${JAVA_HOME}/jre
- 31 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
- 32 export PATH=${JAVA_HOME}/bin:$PATH
使环境变量生效
- $sudo source /etc/profile
java版本为1.8.0_202
- wget http://jaist.dl.sourceforge.net/project/ksar/ksar/5.0.6/ksar-5.0.6.zip
- unzip ksar-5.0.6.zip
然后解压并进入源码根目录,执行脚本:
- sh run.sh
可启动此软件
ksar
执行命令,点击Data->Run local command
可以执行以下命令:
- sar -A
点击对应的硬件信息,就可以以图形化形式查看对应的硬件信息内容。非常直观方便。
在Flash Player 10.1及以上版本中,adobe新增了全局错误处理程序UncaughtErrorEv...
本文实例讲述了AJAX+Servlet实现的数据处理显示功能。分享给大家供大家参考,具...
本文转载自微信公众号「SQL数据库」,作者丶平凡世界 。转载本文请联系开发公众...
idea官方推送了2020.2.4版本的更新,那么大家最关心的问题来了,之前激活idea202...
CKeditor,以前叫FCKeditor,已经使用过好多年了,功能自然没的说。最近升级到3....
大家好,我是狂聊君。 今天来聊一聊 Mysql 缓存池原理。 提纲附上,话不多说,直...
前言 项目开发中不管是前台还是后台都会遇到烦人的null,数据库表中字段允许空值...
本文转载自微信公众号「SH的全栈笔记」,作者SH。转载本文请联系SH的全栈笔记公...
来源:DeepenStudy 漏洞文件:js.asp % Dimoblog setoblog=newclass_sys oblog.a...
问题:我们在做flex的开发中,如果用到别人搭建好的框架,而别人的server名称往...