Linux 下如何使用 vmstat 命令

vmstat 是 virtual memory statistics 的缩写,它是linux下一个非常有用的监控工具,除了内存之外,还提供 块 io、cpu 时间 等额外的信息

语法

vmstat 命令的执行不需要特殊的权限,普通用户就可以执行,其语法形式如下

vmstat [options] [delay [count]]

登录后复制

delay 表示数据更新间隔,单位是秒,如果没有指定此值,表示系统启动以来的平均时间,而且此时只输出一次结果

count 表示输出次数,如果没有指定该值,但是指定了 delay 的值,则表示无限次

结果字段说明

在命令行输入 vmstat 并回车, 会输出一次结果

[root@cghost22 ~]# vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 3  0      0 991324    932 537336    0    0     0     0    3    4  0  0 100  0  0[root@cghost22 ~]#

登录后复制

结果中有许多的字段,下表列出了每个字段的详细说明

字段 说明

r可运行进程的数量,包括运行态和就绪态b处于不可中断睡眠状态的进程数量swpd虚拟内存使用量free空闲内存buff用作buffer的内存数量cache用作cache的内存数量si从磁盘换入内存的数量so从内存换出到磁盘的数量bi从块设备接收的块,单位:块/秒bo发送到块设备的块,单位:块/秒in每秒中断数,包括时钟中断cs每秒上下文切换数us用户态执行时间sy内核态执行时间idCPU空闲时间wa等待IO的时间st从虚拟机中偷取的时间

表中第二行 处于不可中断睡眠状态的进程数量,这里的不可中断是指 一个进程在执行某些系统调用时进入的状态,在这种状态下,进程被阻塞,并且不能被中断,直到完成系统调用

字段结果按照颜色分成了几部分,从上到下依次是:进程信息,内存信息,IO信息,系统中断和上下文,CPU时间

内存信息中数值的单位默认是 KB ( 1024 kbytes ), CPU时间字段并不表示具体的时间,而是占总CPU时间的一个百分比

常见选项

选项 说明

-a显示活跃和非活跃内存-f从系统启动至今 fork 的数量,包括 fork、vfork 以及 clone 等系统调用-s显示系统事件计数以及内存统计信息-d报告磁盘统计信息-D统计活动磁盘信息-p指定分区的详细信息-t追加一列时间显示-S按照指定字节单位显示-w结果按照宽模式显示-Vvmstat的版本

常见用法

vmstat 命令主要用于识别系统的瓶颈,统计数据的时候,它不会包含自身进程

按照指定时间间隔和次数输出

[root@cghost22 ~]$ vmstat 2 10procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 2  0  12552 148356 234324 3382956    0    0     1    21    4    4  2  2 97  0  0 1  0  12552 148264 234324 3382980    0    0     0     0 14974 27478  3  2 96  0  0 1  0  12552 148232 234324 3382984    0    0     0    14 14384 27181  3  2 96  0  0 0  0  12552 148376 234332 3383052    0    0     0   204 14197 26812  4  2 94  0  0 0  0  12552 148512 234332 3383088    0    0     0     4 14398 27155  3  2 95  0  0 0  0  12552 147892 234332 3383128    0    0     0   210 15515 28802  3  2 95  0  0 1  0  12552 148388 234332 3383156    0    0     0     0 15147 28042  3  2 95  0  0 0  0  12552 148264 234332 3383168    0    0     0     4 14380 27395  3  1 96  0  0 0  0  12552 148264 234336 3383216    0    0     0   198 14430 27008  3  1 95  0  0 2  0  12552 148140 234336 3383252    0    0     0     6 14233 27161  3  2 95  0  0

登录后复制

2 表示每隔 2 秒输出一次结果,10 表示总共输出 10 次,10 次之后程序自动结束

修改内存显示单位

输出的结果中,内存数据的单位默认是 KB,可以通过 -S 选项调整显示的单位,有下面几种单位可供选择

注意:-S 选项对 si、 so 字段无效

k    # 1000 bytesK    # 1024 bytesm    # 1000 * 1000 bytesM    # 1024 * 1024 bytes

登录后复制Linux 下如何使用 vmstat 命令

上图中第一个结果中内存数据显示单位是 KB , 第二个结果中单位是 MB,将第一个结果对应字段的数值除以 1024 就得到了第二个结果

活跃内存和非活跃内存Linux 下如何使用 vmstat 命令

inact 是非活跃内存,active 是活跃内存

活跃内存是进程在使用的内存,非活跃内存是未运行进程的内存

系统启动以来 fork 的数量

这里的 fork 数量包括 fork、vfork 以及 clone 等系统调用

[root@cghost22 ~]# vmstat -f        12714 forks[root@cghost22 ~]# vmstat -f        12715 forks[root@cghost22 ~]# vmstat -f        12716 forks

登录后复制

我们每次在控制台执行一次命令,系统就会 fork 一个新的进程来执行命令,比如像上面的例子,每执行一次 vmstat -f 命令,系统就会 fork 一个新进程

这个选项还可以用于统计某个操作消耗多少次 fork 调用,只需要在操作前后各执行一次 vmstat -f 命令,比较两次结果的差值即可

每行追加一列时间

追加一列时间显示,有助于比较一段时间内的结果

Linux 下如何使用 vmstat 命令按照宽模式显示

vmstat 结果中的某些字段的数字有时会比较长,而且跟字段名的位置有偏差, 不太适合人类的观看习惯,-w 选项可以按照宽模式显示数据,使结果看起来更直观,下图是分别未使用宽模式和使用了宽模式的一个对比

Linux 下如何使用 vmstat 命令统计磁盘信息Linux 下如何使用 vmstat 命令

磁盘信息主要分三个方面:读、写、IO ,读和写以毫秒为单位,IO以秒为单位

读    total:     成功读取的总数    merged:    分组读取(产生一个 IO)    sectors:   成功读取的扇区数    ms:        读取花费的毫秒    写    total:      成功写入的总数    merged:     分组写入(产生一个 IO)    sectors:    成功写入的扇区数    ms:         写花费的毫秒    IO    cur:    正在进行的IO    s:      IO花费的秒数

登录后复制指定磁盘分区信息Linux 下如何使用 vmstat 命令

上图中,输出结果显示 sda3 分区设备的信息,它们包括:读计数、读取的扇区数,写计数,分区写请求总数

以上就是Linux 下如何使用 vmstat 命令的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2200686.html

(0)
上一篇 2025年2月25日 23:15:45
下一篇 2025年2月17日 23:33:48

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python怎么设置路径

    Python 中设置路径的方法包括:在 sys.path 中添加新目录设置 PYTHONPATH 环境变量使用 pathlib 模块的 resolve() 方法使用 site 模块的 addsitedir() 方法在目标目录中创建 __in…

    2025年2月26日
    200
  • python怎么执行脚本

    执行 Python 脚本的方法有四种:命令提示符或终端Python 解释器IDLEIDE(如 PyCharm) 如何用 Python 执行脚本 Python 是一种广泛使用的编程语言,它允许您通过执行脚本来自动化任务并创建程序。执行 Pyt…

    2025年2月26日
    200
  • 怎么看python安装成功

    判断 Python 是否已成功安装的方法:检查命令行:输入 “python” 或 “python3″,查看输出是否显示版本号。检查 IDLE:打开 IDLE,转到 “帮助&#822…

    2025年2月26日
    200
  • python的版本怎么查看

    确定 Python 版本的方法:1. 打开命令行,输入 “python”,查看显示版本;2. 使用 “–version” 标志直接获取版本信息,输出格式为 “Python 版本号”。 如何查看 Python 版本 要查看 Pyt…

    2025年2月26日
    200
  • python的input怎么用

    Python 中 input() 函数获取用户输入并返回字符串。用法如下:input([prompt]):prompt 为可选提示信息。验证输入:可以通过 try-except 块验证输入类型。处理异常:input() 可能引发异常,如类型…

    2025年2月26日
    200
  • python怎么写脚本

    使用 Python 编写脚本涉及以下步骤:设置 Python 环境:安装解释器并设置 PATH。创建 Python 文件:保存文件扩展名为 .py。编写 Python 脚本:导入模块、定义函数、编写逻辑。执行 Python 脚本:在命令行中…

    2025年2月26日
    200
  • python怎么快速添加注释

    Python 代码中添加注释的最快方法是使用快捷键:Windows/Linux:Ctrl + Shift + /macOS:Cmd + Option + /其他注释方法还包括三引号字符串、行内注释和注释块。最佳实践包括使用描述性注释、避免琐…

    2025年2月26日
    200
  • python的idle怎么清屏

    使用 Ctrl + L 快捷键可以快速清屏 Python IDLE 的 Python Shell。其他清屏方法包括使用 Shell 命令、重置按钮或 Python 代码。 Python IDLE 清屏方法 简短回答 在 Python IDL…

    2025年2月26日
    200
  • python运行不了怎么办

    无法运行 Python 的原因包括:Python 未安装。Python 路径未添加至系统路径。脚本存在语法错误。Python 版本与脚本不兼容。所需库未安装。脚本与操作系统不兼容。环境变量未正确设置。 Python 无法运行的原因 Pyth…

    2025年2月26日
    200
  • python安装失败怎么解决

    Python 安装失败的解决方案:满足系统要求。检查网络连接。关闭防火墙或防病毒软件。以管理员身份运行安装程序。重新启动计算机。使用 pip 命令安装 Python。检查环境变量。查找安装日志。咨询官方支持。 Python 安装失败的解决方…

    2025年2月26日
    400

发表回复

登录后才能评论