vmstat详解 - 附带iostat

vmstat 详解 附带iostat

语法

vmstat [-n] [-s] [-p partition] [ineterval [count]] [delay] [count]

vmstat 运行于两种模式:

采样模式和平均模式。

如果不指定参数,则vmstat统计运行于平均模式下,vmstat 显示从系统启动以来所有统计数据的均值。

但是,如果指定了延迟,那么第一个采样仍然是系统启动以来的均值,但之后vmstat 按延迟秒数采样系统并显示统计数据。

vmstat显著的优点,开销很低,即使在高负载情况下也可以使用。

表1 解释了vmstat 的选项

选项说明
-n默认悄况下,vmstat定期显示每个性能统计数据的列标题。本选项禁止该特性,因此初始列标题之后,只显示性能数据。如果想要将vmstat 导出为电子表格,使用这个选项是有好处的
-s本选项一次性输出vmstat收集的系统统计的详细信息。该信息为系统启动后的总数据
delay采样的时间间隔
-a该项改变内存统计统计信息的默认输出以表示活跃/非活跃内存量,而不是缓冲区和高速缓存使用情况的信息
-m该项输出内核分片信息。输入cat /proc/slabinfo可以获得同样的信息。信息详细展示了内核内存是如何分配的,并有助于确定哪部分内核消耗内存最多。
-D显示LINUX I/O子系统总的统计数据。它可以让你很好地了解你的I/O子系统是如何被使用的,但它不会给出单个磁盘的统计数据。显示的统计数数据是从系统启动开始的总信息,而不是两次采样之间的发生量。
-d按每个interval一个样本的速率显示每个磁盘的统计数据。这些统计信息是从系统启动开始的信息,而不是两次采样之间的发生量
-p partition按照每interval一个采样的速率显示给定分区的性能统计数据。这些统计信息是从系统启动开始的总信息,而不是两次采样之间的发生量

与CPU相关的vmstat输出

字段说明
r当前可运行的进程数。这些进程没有等待I/0. 而是已经准备好运行。理想状态下.可运行进程数应与可用CPU 的数证相等
b等待1 /0 完成的被阻塞进程数
forks创建新进程的次数
in系统发生中断的次数
cs系统发生上下文切换的次数
us用户进程消耗的总CPU时间的百分比(包括“友好的”时间)
sy系统代码消耗的总CPU时间的百分比,其中包括消耗在system 、irq 和softirq 状态的时间
wa等待I/O 消耗的总CPU时间的百分比
id系统空闲消耗的总CPU时间的百分比

上下文切换的数量(cs)小于中断的数量(in)。调度器切换进程的次数少千定时器中断触发的次数。这很可能是因为系统基本上是空闲的,在定时器中断触发的大多数时候,调度器没有任何工作要做,因此它也不需要从空闲进程切换出去。

与内存相关的vmstat输出统计信息

字段说明
swpd当前swap的内存总量。
free未被操作系统或应用程序使用的物理内存总量。
buff系统缓冲区大小(单位为KB),或用于存放等待保存到硬盘的数据的内存大小(单位为KB )。该存储区允许应用程序向Linux内核发出写调用后立即继续执行(而不是等待直到数据被提交到硬盘)。-- 写缓存
cache用千保存之前从硬盘读取的数据的系统高速缓存或内存的大小(单位为KB ) 。如果应用程序再次需要该数据,内核可以从内存而非硬盘抓取数据,由此可提高性能。-- 读缓存
active被使用的活跃内存址。活跃/不活跃的统计数据与缓冲区/高速缓存的是正交的;缓冲区和高速缓存可以是活跃的,也可以是不活跃的
inactive不活跃的内存总认(单位为KB ),或一段时间未被使用,适合交换到硬盘的内存量
pages paged in从硬盘读入系统缓冲区的内存总量(单位为页)。
pages paged out从系统高速缓存写到硬盘的内存总量(单位为页)。
pages swap in从交换分区读入系统内存的内存总量(单位为页)
pages swap out从系统内存写到交换分区的内存总量(单位也页)
used swapLinux内核目前使用的交换分区容量
free swap当前可用的交换分区容量
total swap系统的交换分区总量。

vmstat的磁盘I/O统计信息(默认模式)

统计数据说明
bo表示前次间隔中被写入磁盘的总块数(vmstat内磁盘的典型块大小为1024字节)
bi表示前次间隔中从磁盘读出的块数(vmstat内磁盘的典型块大小为1024字节)
wa表示等待I/0完成所消耗的CPU 时间。每秒写磁盘块的速率

vmstat的磁盘I/O统计信息(-D模式)

统计数据说明
disks系统中的磁盘总数
partitions系统中的分区总数
total reads读请求总数
merged reads为了提升性能而被合并的不同请求数量,这些读请求访问的磁盘上的相邻位置
read sectors从磁盘读取的扇区总数(一个扇区通常为512字节)
milli reading磁盘读所花费的时间(以毫秒为单位)
writes写请求的总数
merged writes为了提升性能而被合并的不同写请求数址,这些写请求访问的是磁盘上的相邻位置
written sectors向磁盘写入的扇区总数(一个扇区通常为512 字节)
milli writing磁盘写所花费的时间(以毫秒为单位)
inprogress IO当前正在处理的I/O总数。请注意,最近版本( v3 .2 ) 的vmstat在这里有个漏洞,除以1000 时其结果是错误的,几乎总是得到0
milli spent IO等待I/O 完成所花费的毫秒数。请注意,最近版本( v3 .2) 的vmstat 在这里有个漏洞,其数值为I/O 花费的秒数,而非毫秒数

vmstat的磁盘I/O统计信息(-d模式)

统计数据说明
reads: total读请求的总数
reads: merged为了提升性能而被合并的不同读请求数址,这些读请求访问的是磁盘上的相邻位置
reads: sectors从磁盘读取的扇区总数
reads: ms磁盘读所花费的时间(以毫秒为单位)
writes: total写请求的总数
writes: merged为了提升性能而被合并的不同写请求数社,这些写请求访问的是磁盘上的相邻位置
writes: sectors向磁盘写人的扇区总数(一个扇区通常为512 字节)
writes: ms磁盘写所花费的时间(以毫秒为单位)
IO: cur当前正在处理的I/0 总数。请注意,最近版本(v3.2)的vmstat在这里有个湍洞,除以1000时其结果是错误的, 几乎总是得到0
IO: s等待I/0 完成所花费的秒数

磁盘I/O子系统统计专门工具IOSTAT

语法

iostat [-d] [-k] [-x] [device] [interval [count]]

iostat 命令行选项

选项说明
-d只显不磁盘I/O的统计信息,而不是默认信息。默认信息中还包括了CPU 使用情况
-k按KB显示统计数据,而不是按块显示
-x显不扩展性能I/O统计信息
device若指定设备, 则iostat只显示该设备的信息
interval采样间隔时间
count获取的样本总数

iostat设备统计信息

统计数据说明
tps每秒传输次数。该项为每秒对设备/ 分区读写请求的次数
Blk_read/s每秒读取磁盘块的速率
Blk_wrtn/s每秒写入磁盘块的速率
Blk_read在时间间隔内读取块的总数批
Blk_wrtn在时间间隔内写入块的总数址

iostat的扩展磁盘统计信息

统计数据说明
rrqm/s在提交给磁盘前,被合并的读请求的数量
wrqm/s在提交给磁盘前,被合并的写请求的数批
r/s每秒提交给磁盘的读请求数量
w/s每秒提交给磁盘的写请求数址
rsec/s每秒读取的磁盘扇区数
wsec/s每秒写入的磁盘扇区数
rkB/s每秒从磁盘读取了多少KB 的数据
wkB/s每秒向磁盘写入了多少KB 的数据
avgrq-sz磁盘请求的平均大小(按扇区计)
avgqu-sz磁盘请求队列的平均大小
await完成对一个请求的服务所需的平均时间(按毫秒计)。该平均时间为请求在磁盘队列中等待的时间加上磁盘对其服务所需的时间.
svctm提交到磁盘的请求的平均服务时间(按毫秒计)。该项表明磁盘完成一个请求所花费的平均时间。与await不同,该项不包含在队列中等待的时间

iostat用法示例

iostat -x -dk 1 5 /dev/dm-*
Linux 3.10.0-1160.49.1.el7.x86_64 (###########)         01/11/2022      _x86_64_        (128 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
dm-0              0.00     0.00    0.02    0.18     0.55     8.12    84.37     0.00    1.53   14.48    0.04   1.73   0.04
dm-1              0.00     0.00    0.00    0.02     0.01     0.08     8.05     0.00   30.27   12.30   31.32   1.50   0.00
dm-2              0.00     0.00    0.05    0.36     1.64    14.74    79.89     0.00    1.20    8.82    0.13   0.53   0.02
dm-3              0.00     3.29    8.85   46.86   907.77  1676.09    92.76     0.52    9.26   29.42    5.45   0.69   3.85
dm-4              0.00     4.12   20.22   77.20  1568.53  3590.97   105.93     0.93    9.59   24.41    5.71   0.82   8.00
dm-5              0.00     6.47    5.41  156.92   728.57  5264.43    73.84     0.56    3.45   34.47    2.38   0.54   8.72
dm-6              0.00     3.84   12.60   46.74   476.05  2083.01    86.26     0.33    5.54    2.90    6.25   0.42   2.51
dm-7              0.00     4.10   11.48   38.37   763.27  1898.30   106.78     0.29    5.82    2.43    6.83   0.46   2.28
dm-8              0.00     3.73   16.43  154.26  1428.46  6767.59    96.03     1.05    6.16   18.09    4.89   0.54   9.20
dm-9              0.00     5.15    3.72   14.20   595.09  1203.14   200.73     0.37   20.90   36.04   16.94   1.44   2.58
dm-10             0.00     5.09    3.85   18.04   885.86  1943.41   258.56     0.55   25.25   16.37   27.15   1.03   2.25
dm-11             0.00     4.08   28.22  143.03  1960.43  5628.56    88.63     0.47    2.73   38.99    4.52   0.53   9.01
dm-12             0.00     2.55    5.89   13.83  2748.18  4147.29   699.35     0.49   25.06   22.73   26.04   1.59   3.13
dm-13             0.00     4.25   13.55   87.30  1042.99  3290.64    85.94     0.93    9.24   36.11    5.07   0.53   5.37
dm-14             0.00     3.68   13.60   95.93  1209.23  9064.35   187.59     0.98    8.92   29.49    6.00   0.68   7.50
dm-15             0.00     7.62    4.29  324.80   673.13  9719.43    63.16     0.62    1.87   18.49    1.65   0.41  13.60
dm-16             0.00     1.74    3.57    6.11  1252.06  1441.53   556.24     0.53   54.76   18.52   75.95   1.96   1.89
dm-17             0.00     0.94    2.43    3.10  1183.67  1188.45   858.72     0.65  117.65   14.44  198.60   1.70   0.94
dm-18             0.00     0.83    2.54    2.80  1282.60  1283.46   960.08     0.52   97.79   13.65  174.13   1.58   0.85
dm-19             0.00     0.00  156.64 1291.53 18705.83 60190.64   108.96     1.10    0.76    1.24    0.70   0.24  35.40
dm-20             0.00     0.00    0.00    0.39     0.03    18.97    95.92     0.00    0.15   19.24    0.06   0.28   0.01
dm-21             0.00     0.00    0.78    0.53     7.50    21.16    43.66     0.00    0.41    0.59    0.13   0.16   0.02
dm-22             0.00     0.00    0.01    0.03     1.37     4.14   270.59     0.00    0.74    1.68    0.57   0.13   0.00
dm-23             0.00     0.00    0.00    0.01     0.00     1.05   214.82     0.00    0.21    6.91    0.00   0.21   0.00
dm-24             0.00     0.00    0.01    0.95     0.88    16.93    36.95     0.00    0.09    5.59    0.02   0.07   0.01

参考文档:《Linux性能优化》《Optimizing Linux Performance - A Handons-on Guide to Linux Performance Tools》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值