sar命令和vmstat命令详解

sar命令

options 为命令行选项,sar命令常用选项如下:

-A:所有报告的总和

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息

1、sar 5 6 //每隔5s 输出6次后退出

16时13分01秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
16时13分06秒     all      9.15      0.00     48.19      0.05      0.00     42.61
16时13分11秒     all      2.13      0.00      8.76      0.08      0.00     89.03
16时13分16秒     all      2.13      0.00     11.41      0.03      0.00     86.44
16时13分21秒     all      2.20      0.00     10.61      0.05      0.00     87.14
16时13分26秒     all      2.48      0.00     10.44      0.08      0.00     87.00
16时13分31秒     all      2.40      0.00     10.51      0.05      0.00     87.00

注:

CPU:all 表示统计信息为所有 CPU 的平均值。

%user:显示在用户级别(application)运行使用 CPU 总时间的百分比。

%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。

%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。

%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。

%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。

%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。

每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令:

sar -u -o test 10 3

例如,每10秒采样一次,连续采样3次,监控内存分页:

sar -r 10 3

屏幕显示如下:

输出项说明:

kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.

kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.

%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.

kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.

kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).

%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

例如,每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:

sar -b 10 3

屏幕显示如下:

18:51:05 tps rtps wtps bread/s bwrtn/s

18:51:15 0.00 0.00 0.00 0.00 0.00

18:51:25 1.92 0.00 1.92 0.00 22.65

18:51:35 0.00 0.00 0.00 0.00 0.00

Average: 0.64 0.00 0.64 0.00 7.59

输出项说明:

tps:每秒钟物理设备的 I/O 传输总量

rtps:每秒钟从物理设备读入的数据总量

wtps:每秒钟向物理设备写入的数据总量

bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

例如,每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:

sar -b 10 3

屏幕显示如下:

18:51:05 tps rtps wtps bread/s bwrtn/s

18:51:15 0.00 0.00 0.00 0.00 0.00

18:51:25 1.92 0.00 1.92 0.00 22.65

18:51:35 0.00 0.00 0.00 0.00 0.00

Average: 0.64 0.00 0.64 0.00 7.59

输出项说明:

tps:每秒钟物理设备的 I/O 传输总量

rtps:每秒钟从物理设备读入的数据总量

wtps:每秒钟向物理设备写入的数据总量

bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来

怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看

怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看

怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

2、vmstat命令

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、IO读写、CPU活动等进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。
指令所在路径:/usr/bin/vmstat
-a 显示活跃内存(active)和非活跃内存(inact)
-f 显示从系统启动至今的fork数量
-m 显示slabinfo
-s 静态显示内存相关信息

root@ubuntu:~# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0  20984 114408  71112 557240    0    0     8    51   57  137  1  1 98  1  0

各个字段对应的项含义如下
procs

  • r 正在等待运行的进程数
  • b 在uninterruptible 睡眠中的进程数

memory

  • swpd 以使用的swap空间
  • free 剩余的物理内存
  • buff buffer
  • cache cache
  • inact 非活动的内数量(-a选项)
  • active 活动的内存的数量(-a选项)

swap

  • si 从磁盘交换的内存大小

  • so 交换到磁盘的内存大小
    内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。
    当看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,这个是不正确的。不能光看这一点,还要结合si和so,
    如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。

    io

  • bi 从块设备接收的块(block/s)

  • bo 发送给块设备的块(block/s).如果这个值长期不为0,说明内存可能有问题,因为没有使用到缓存(当然,不排除直接I/O的情况,但是一般很少有直接I/O的)

system

  • in 每秒的中断次数,包括时钟中断
  • cs 进程上下文切换次数

cpu

  • us 用户进程占用CPU时间比例
  • sy 系统占用CPU时间比例
  • id CPU空闲时间比
  • wa IO等待时间比(IO等待高时,可能是磁盘性能有问题了)
  • st steal time

显示磁盘分区数据(disk partition statistics )

[oracle@mylnx01 ~]$ vmstat -p sdc5 2 10
sdc5          reads   read sectors  writes    requested writes
54270570 7234336956    8939045  276196850
54270570 7234336956    8939045  276196850
54270570 7234336956    8939050  276196978
54270570 7234336956    8939053  276197074
54270574 7234337260    8939053  276197074
54270577 7234337292    8939066  276197346
54270622 7234339700    8939066  276197346
54270622 7234339700    8939069  276197442
54270859 7234342828    8939078  276197634
54271074 7234345452    8939080  276197666

显示各种事件计数器表和内存统计信息,这显示不重复。

[oracle@mylnx01 bdump]$ vmstat -s
33011144  total memory
32799072  used memory
24606736  active memory
6175700  inactive memory
212072  free memory
52288  buffer memory
30158708  swap cache
12582904  total swap
610348  used swap
11972556  free swap
44159969 non-nice user cpu ticks
8172 nice user cpu ticks
6077972 system cpu ticks
389217442 idle cpu ticks
40807984 IO-wait cpu ticks
123964 IRQ cpu ticks
383333 softirq cpu ticks
0 stolen cpu ticks
10331447387 pages paged in
2287459081 pages paged out
1524480 pages swapped in
1433512 pages swapped out
2358479992 interrupts
1876082783 CPU context switches
1481100317 boot time
15573677 forks

显示活动(active)与非活动(inactive)的内存

[root@DB-Server ~]# vmstat -a 2 10

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st

0  0 242752  56264 1294680 2365840    0    0     1    18    2    2  0  2 97  0  0

1  0 242752  56504 1294676 2365736    0    0     0     0 1010  511  0  1 100  0  0

0  0 242752  55844 1294716 2366616    0    0     0    16 1011  768  1  5 94  0  0

0  0 242752  56760 1294716 2365888    0    0     0   190 1015  554  0  1 99  0  0

0  0 242752  55472 1294744 2366636    0    0     0     0 1007  751  1  6 94  0  0

0  0 242752  56636 1294748 2365904    0    0     0    16 1009  554  0  1 99  0  0

0  0 242752  55844 1294772 2366656    0    0     0   178 1020  746  1  6 93  0  0

0  0 242752  56884 1294768 2365940    0    0     0     0 1007  543  0  1 99  0  0

1  0 242752  55208 1294816 2367220    0    0     0   206 1021  726  0  4 95  0  0

0  0 242752  56760 1294796 2365960    0    0     0    16 1009  606  0  2 98  0  0

参考链接 :
https://blog.csdn.net/m0_38110132/article/details/84187399
sar用法详解 :Linux的sar命令详解

iostat用法详解:Linux IO实时监控iostat命令详解

vmstat用法详解:Linux vmstat命令实战详解
https://blog.csdn.net/m0_38110132/article/details/84189937

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值