<返回更多

Linux查看硬件信息超强命令sar,以及可视化工具ksar

2021-04-06  今日头条  一口Linux
加入收藏

一、概述

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 
Linux查看硬件信息超强命令sar,以及可视化工具ksar

 


Linux查看硬件信息超强命令sar,以及可视化工具ksar

 

三、 命令

语法

Linux查看硬件信息超强命令sar,以及可视化工具ksar

 

  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:终端设备活动情况
  1. 类型参数 有的类型带有参数,有的没有。这里的DEV,代表的是监控网卡信息
  2. 间隔时间 每次报告的间隔时间(秒)
  3. 次数
    显示报告的次数。 如:时间间隔是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等。

1. CPU信息

我们就先从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

字段说明

(2)报个每个CPU的使用状态:

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

字段说明

(3)CPU负载 使用sar -q,同样的,和top的参数意义是相似的。除了load值,它还显示了等待队列的长度,对于排查排队问题非常有帮助。

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

字段说明

(4)中断

使用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

(5)上下文切换

使用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

2. 内存信息

内存主要是分为下面这些部分,我们平常监控的,主要是物理内存、虚拟内存、内核等。

(1)内存利用率

使用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

字段说明

(2)swap交换分区

对于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

(3)内核使用情况

主要是使用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

字段说明

(4)监控内存分页信息, 主要是使用sar -B命令。(注意他的发音!很牛掰!) 执行结果如下:

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

(5)查看系统swap分区的统计信息:

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

字段说明

(6)查看I/O和传递速率的统计信息

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

字段说明

(7)磁盘使用详情统计

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

字段说明

3. I/O信息

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

字段说明

4. 网络信息

(1) 统计网络信息

 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个开关。它们可以单独或者一起使用。

(2) 每间隔1秒统计一次,总计统计1次

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是在多次统计后的平均值

(3) 统计网络设备通信失败信息:

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

字段说明

(4) 统计socket连接信息

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三者的综合。

(5) TCP连接的统计

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

字段说明

(6) sar -n 使用总结

  1. DEV 网络接口统计信息
  2. EDEV 网络接口错误
  3. NFS NFS 客户端
  4. NFSD NFS 服务器
  5. SOCK Sockets (套接字) (v4)套接字使用
  6. IP IP 流 (v4) IP数据报统计信息
  7. EIP IP 流 (v4) (错误) IP错误统计信息
  8. ICMP ICMP 流 (v4)
  9. EICMP ICMP 流 (v4) (错误)

 

  1. TCP TCP 流 (v4) TCP统计信息
  2. ETCP TCP 流 (v4) (错误)TCP错误统计信息
  3. UDP UDP 流 (v4)
  4. SOCK6 Sockets (套接字) (v6)
  5. IP6 IP 流 (v6)
  6. EIP6 IP 流 (v6) (错误)
  7. ICMP6 ICMP 流 (v6)
  8. EICMP6 ICMP 流 (v6) (错误)
  9. UDP6 UDP 流 (v6)

五、ksar

Ksar可以用来分析系统性能数据,其优势在于不需要单独去收集性能数据,系统自带有sar包,通过命令转换即可使用Ksar展现。

安装该软件需要先安装JAVA,如果已经安装调到第5步。

1. 下载java

jdk-8u202-linux-x64.tar.gz下载地址如下:

Linux查看硬件信息超强命令sar,以及可视化工具ksar

原谅,不让发链接

2. 解压

拷贝jdk-8u202-linux-x64.tar.gz到ubuntu的/home/peng/jdk下

Linux查看硬件信息超强命令sar,以及可视化工具ksar

 

tar -zxvf jdk-8u202-linux-x64.tar.gz

3. 设置环境变量

$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

4. 测试java

Linux查看硬件信息超强命令sar,以及可视化工具ksar

 

java版本为1.8.0_202

5. 下载ksar源码

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 

可启动此软件

Linux查看硬件信息超强命令sar,以及可视化工具ksar

 

ksar

6. 操作

执行命令,点击Data->Run local command

Linux查看硬件信息超强命令sar,以及可视化工具ksar

 

可以执行以下命令:

sar -A
Linux查看硬件信息超强命令sar,以及可视化工具ksar

 

点击对应的硬件信息,就可以以图形化形式查看对应的硬件信息内容。

Linux查看硬件信息超强命令sar,以及可视化工具ksar
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>