vmstat命令和iostat命令

在做数据库维护的时候,经常会查看操作系统的状态,今天我们说下常见的命令iostat和vmstat。

iostat命令

这个命令一般会搭配iotop命令来看,从命名中不难看出,它主要反馈的是操作系统的io信息。如果你的操作系统没有安装这个工具,可以使用下面的方法来进行安装:

yum install sysstat -y

iostat工具执行完毕之后,一般会对我们返回一个报告,这个报告反馈的是自从系统启动以来的很多计数器的平均值,看起来没有什么意义,我们通常更关注IO指标的持续性变化,可以使用下面的命令来查看IO的增量变化情况,其中:

-dx 代表展示详细数据

1 代表间隔1s展示一次

[root@ ~]# iostat -dx 1
Linux 3.10.0-957.21.3.el7.toa.x86_64 (dbl-10-41-28-88.dbnorth-1.node.kubernetes)        05/17/2022      _x86_64_        (40 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
sda               0.01    11.86   14.68   29.56   394.94   212.73    27.47     0.04    0.96    2.45    0.22   0.24   1.08
sfd0n1            0.00     0.00  196.24 2196.17  3529.64 14200.25    14.82     0.04    0.01    0.28    0.01   0.01   3.03Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
sfd0n1            0.00     0.00   82.00  608.00  1308.00  4692.00    17.39     2.07    1.90    0.21    2.12   1.43  98.80Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
sfd0n1            0.00     0.00  178.00  801.00  1780.00  7892.00    19.76     2.38    1.71    0.20    2.04   1.02  99.50Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
sfd0n1            0.00     0.00  105.00  673.00  1372.00  8208.00    24.63     2.30    2.00    0.14    2.29   1.29 100.00

通常情况下,iostat返回的第一波数据没有参考意义,因为它代表的是机器启动以来,所有指标的平均值。

我们从第二波数据开始看:

rrqm/s和wrqm/s:

他们代表每秒合并的读和写请求。这个数字代表操作系统拿出来多少个逻辑请求合并为一个物理请求到实际磁盘。

r/s和w/s:

每秒发送到设备的读和写请求。这个值具有重要的参考意义。

rkB/s和wkB/s:

意为每秒读写的kB字节数。

avgrq-sz和avgqu-sz:

分别代表请求的扇区数和在设备队列中等待的请求数。通常这俩值越小越好。

await、r_await、w_await

代表磁盘排队上花费的时间值,单位是ms

svctm:

服务请求花费的时间值,单位ms

%util:

这是一个重要的值,它代表至少有一个活跃请求所占时间的百分比。它其实不是设备的利用率。%util的值不会超过100%。

如果这个值是0%,代表统计时间段内,磁盘一直没有数据写入;

如果这个值是100%,代表统计时间段内,磁盘一直有数据写入;

简而言之,它代表统计时间内所有处理IO时间,除以总共统计时间。

vmstat命令

vmstat命令,是 Virtual Meomory Statistics(虚拟内存统计)的缩写,可用来监控 CPU 使用、进程状态、内存使用、虚拟内存使用、硬盘输入/输出状态等信息。

我们使用下面的例子,让他每间隔1s输出一次报告:

[root@~]# vmstat 1
procs -----------memory----------       ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache       si   so    bi    bo   in   cs   us sy id wa st7  0 2308340 2381212 546140 28582468    0    0     2    40    0    0   48 13 39  0  0
10  0 2308340 2402408 546144 28583032    0    0     0   420 18607 35079 39 17 45  0  0
17  0 2308340 2279524 546152 28583444    0    0     4  1140 23360 15603 51 20 29  0  0
11  0 2308340 2190988 546152 28583812    0    0     0     4 26816 34006 82 15  3  0  0
11  0 2308340 2177512 546160 28583724    0    0     0    16 23183 38874 59 23 18  0  0
13  0 2308340 2163024 546164 28583788    0    0     4    24 22102 28218 51 19 30  0  06  0 2308340 2187564 546168 28584016    0    0     0   596 15855 19528 43 15 42  0  08  0 2308340 2236964 546208 28574064    0    0     0  3032 15622 27785 41 15 44  0  04  0 2308340 2349828 546208 28574036    0    0     4     4 20172 32157 49 18 33  0  05  0 2308340 2350252 546208 28574076    0    0     0   460 15519 14972 41 15 44  0  0

同样,和iostat一样,第一行的数据,通常显示的是历史平均值,参考意义不大。

看第二行的值:

procs:

r列代表了多少进程在等待cpu

b列代表了多少进程正在不可中断的休眠

memory:

swpd列显示多少内存块被换出到了磁盘,通常这个值越小越好

free列代表有多少数据块是空的

buff列代表有多少数据块正在被用作缓冲

cache列代表由多少数据款正在被操作系统缓存

swap:

这些列显示了系统的交换活动,si和so代表每秒正在被从磁盘换入和换出的数据块个数,如果这个值超过10,那么说明系统内存不足。

io:

显示有多少数据块从块设备读取和写入。它代表磁盘的IO

system:

显示了每秒中断(in)和上下文切换(cs)的数量。

cpu:

us:用户代码(非内核耗时)

sy:执行系统代码(内核耗时)

id:空闲耗时

wa:等待IO的耗时

总结

Linux中,查看操作系统运行状态的命令有很多,除了文中提到的两个,还有mpstat、dstat、sar、top、iotop等等。这些命令各有利弊,可以根据实际情况酌情使用。

如果遇到不理解的参数,可以通过man+命令的方法来查看帮助文档,他们往往是宏观上分析排查数据库问题的利器。

vmstat命令和iostat命令相关推荐

  1. Linux 命令之 iostat 命令-监视系统输入输出设备和 cpu 的使用情况

    介绍 iostat`命令被用于监视系统输入输出设备和 CPU 的使用情况.它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况.同 vmstat 一样,iostat 也有一个弱点,就是它不 ...

  2. linux下iostat命令无效,iostat命令详解

    iostat用于输出CPU和磁盘输入输出.分区.网络文件系统NFS相关的统计信息.iostat命令用于监控系统设备的输入/输出情况,并生成报告,以便根据统计报告修改系统配置,获取更优的性能. 命令格式 ...

  3. Linux 命令(123)—— iostat 命令

    文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 1.命令简介 iostat(IO statistics)命令被用于监视 CPU 和输入输出设备的使用情况.iostat 有一 ...

  4. Linux系统性能监控之6个vmstat和6个iostat命令

    这篇文章主要介绍一些Linux性能检测相关的命令. vmstat和iostat的两个命令可以运行在主流的Linux/Unix操作系统上. 如果vmstat和iostat命令不能再你的电脑上运行,请安装 ...

  5. 使用vmstat和iostat命令进行Linux性能监控

    使用vmstat和iostat命令进行Linux性能监控 这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/uni ...

  6. linux服务器性能监控命令汇总之iostat命令(三)

    Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.同 ...

  7. linux 监控命令iostat,Linux下 IO实时监控iostat命令详解

    Linux系统中的iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.同v ...

  8. linux 监控命令iostat,Linux性能监控分析命令(三)—iostat命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof 命令介绍: i ...

  9. iostat命令简单使用

    1.iostat使用范围 iostat命令可以生成3种类型的报告: (1)CPU使用情况的报告 (2)设备使用情况的报告 (3)网络文件系统(NFS)使用情况的报告 2.每种报告的格式说明 关于CPU ...

  10. Linux之iostat命令

    [Linux常用命令速查手册]关注[入门小站],后台回复 「1001」 自取. Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操 ...

最新文章

  1. Docker镜像、容器数据卷和Dockerfile
  2. Scrapy爬取妹子图保存到不同目录下
  3. 写给大数据开发初学者的话 | 附教程
  4. Sentinel控制台
  5. pajek软件使用方法_使用Jco远程连接SAP软件系统方法
  6. USACO 简易题解(蒟蒻的题解)
  7. 我的react+material-ui之路
  8. 深入理解C/C++ [Deep C (and C++)] (1)
  9. 计算机网络经过了几个阶段,计算机网络的发展经过哪几个阶段?
  10. 怎么用电脑设置让wifi变快
  11. 炮兵阵地(状压dp)
  12. 三菱fx3uplc恢复出厂设置_清除三菱FX系列PLC密码的三种方法
  13. x64dbg入门学习
  14. Kafka ui 搭建以及使用
  15. Win7/R2 原生VHD 启动 详解
  16. 微信公众号发送客服消息(文本、图文)和模板消息
  17. 黑苹果Big Sur触摸屏驱动教程
  18. 线性表 :: 顺序存储结构的实现
  19. 不写DAX实现TopN和其他
  20. 新手小白,做短视频自媒体创业,需要准备什么?

热门文章

  1. 浅谈数字孪生的经济效益
  2. Contiki之父Adam Dunkels经典论文介绍
  3. 高科技+大数据:精准农业大数据
  4. 各位朋友有没有什么软件可以来练练算法或者java编程的,推荐一下,求求了,好人一生平安
  5. 半自动的行人重识别数据标注算法Tracking + infomap
  6. [Android]startActivityForResult启动singleTask的Activity,则onActivitResult()立即回调且resultCode为RESULT_CANCE
  7. 图像腐蚀算子SE的选取
  8. 每瓦性能 服务器,树立服务器每瓦性能比及性价比新标准
  9. 推动智慧社区建设,容联“慧眼”上线5类综合改造视觉算法
  10. python要求所有浮点数必须带有小数部分_第2章 基本数据类型