一,vmstat的用途和特点:

vmstat 是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数。

相对于 iostat 来说,vmstat 可以同时提供 CPU、内存和 I/O 的使用情况。

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,vmstat所属的包

1,查看所属的包

[root@blog ~]# whereis vmstat
vmstat: /usr/bin/vmstat /usr/share/man/man8/vmstat.8.gz [root@blog ~]# rpm -qf /usr/bin/vmstat
procps-ng-3.3.15-1.el8.x86_64

2,默认vmstat应该已安装到了centos系统中,

如果找不到命令,可以用yum安装:

[root@blog ~]# yum install procps-ng

三,查看vmstat的版本和帮助

1,查看版本

[root@blog ~]# vmstat --version
vmstat from procps-ng 3.3.15

2,查看帮助

[root@blog ~]# vmstat --help
Usage:
vmstat [options] [delay [count]] Options:
-a, --active active/inactive memory
-f, --forks number of forks since boot
-m, --slabs slabinfo
-n, --one-header do not redisplay header
-s, --stats event counter statistics
-d, --disk disk statistics
-D, --disk-sum summarize disk statistics
-p, --partition <dev> partition specific statistics
-S, --unit <char> define display unit
-w, --wide wide output
-t, --timestamp show timestamp
-h, --help display this help and exit
-V, --version output version information and exit For more details see vmstat(8).

四,例子一:查看默认的输出信息

1,# 每隔5秒输出1组数据

[root@blog ~]# vmstat 5
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 0 1435780 2668 13109308 0 0 0 1 1 1 0 0 100 0 0
0 0 0 1435712 2668 13109324 0 0 0 0 1533 1786 0 0 100 0 0
0 0 0 1435712 2668 13109324 0 0 0 0 1562 1826 0 0 100 0 0

2,输出数据的说明:

procs:

r(Running or Runnable):就绪队列的长度,也就是正在运行和等待 CPU 的进程数。

说明:如果等待运行的进程数越多,意味着CPU非常繁忙

b(Blocked):处于不可中断睡眠状态的进程数。意味着被阻塞的进程的数量

system:

cs(context switch)是每秒上下文切换的次数。

in(interrupt)则是每秒中断的次数。

memory:

swpd: 使用的虚拟内存的大小

free:    空闲的物理内存的大小

buff:    用做buffer的内存大小

cache:   用做cache的内存大小

swap

si: 从磁盘交换到内存的交换页数量,单位:KB/秒

Amount of memory swapped in from disk

so: 从内存交换到磁盘的交换页数量,单位:KB/秒

Amount of memory swapped to disk (/s).

io

bi: 每秒从块设备接收到的块数,单位:块/秒 也就是读块设备

Blocks received from a block device (blocks/s).

bo: 每秒发送到块设备的块数,单位:块/秒  也就是写块设备。

Blocks sent to a block device (blocks/s).

cpu:

us: 用户CPU时间(非内核进程占用时间)(单位为百分比)

us的值比较高时,说明用户进程消耗的CPU时间多

sy: 系统使用的CPU时间(单位为百分比)

sy的值高时,说明系统内核消耗的CPU资源多

id: 空闲的CPU的时间(百分比)

wa: 等待IO的CPU时间

wait越大则机器io性能就越差。说明IO等待比较严重

st: 代表当系统运行在虚拟机中的时候,被其他虚拟机占用的 CPU 时间。

Time stolen from a virtual machine

五,例子二:查看活跃和非活跃内存

说明:-a 显示活跃和非活跃内存,所显示的内容除增加inact和active

[root@blog ~]# vmstat -a
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 0 1426684 10660696 3032584 0 0 0 1 1 1 0 0 100 0 0

输出字段的说明:

inact:表示非活跃内存,也就是不常访问的内存,有可能会被系统回收。

active: 表示活跃内存,也就是最近使用过的内存,一般不会被系统回收。

六,例子三:统计磁盘的读/写信息

说明:-d参数:统计磁盘信息

[root@blog ~]$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
vda 17722 24 1261334 16251 1699722 146934 54970224 2269699 0 412
vdb 152 0 6576 107 0 0 0 0 0 0

说明:数据来自/proc/diskstats

七,例子四:查看slab信息:

说明:-m参数:统计slab信息

[root@blog ~]# vmstat -m
Cache Num Total Size Pages
nf_conntrack 300 300 320 25
xfs_dqtrx 0 0 528 31
xfs_dquot 0 0 504 16
xfs_rui_item 0 0 696 23
xfs_rud_item 92 92 176 23
xfs_inode 95230 100480 1024 16
xfs_efd_item 198 234 440 18
xfs_buf_item 240 300 272 30
xfs_trans 561 561 232 17 ...

说明:数据来自 /proc/slabinfo

八,例子五:查看内存统计信息:

说明: -s参数:统计内存信息

[sysop@blog ~]$ vmstat -s
15723788 K total memory
1180776 K used memory
3029904 K active memory
10660692 K inactive memory ...

说明:数据来自/proc/meminfo

九,例子六:显示从系统启动至今的fork数量

说明: -f参数:统计fork的数量

[root@blog ~]$ vmstat -f
403762 forks

说明:linux下创建进程的系统调用是fork

十,查看centos版本

[root@blog ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

centos8平台使用vmstat监控系统的更多相关文章

  1. centos8平台使用iotop监控磁盘io

    一,iotop的作用: iotop是监视磁盘I/O使用状况的top类工具, 可以针对进程和线程统计io的使用情况 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblog ...

  2. centos8平台使用iostat监控磁盘io

    一,iostat所属的包: [root@centos8 ~]# whereis iostat iostat: /usr/bin/iostat /usr/share/man/man1/iostat.1. ...

  3. centos8平台用ss监控网络

    一,ss所属的包: [root@blog ~]# whereis ss ss: /usr/sbin/ss /usr/share/man/man8/ss.8.gz [root@blog ~]# rpm ...

  4. centos8平台使用pidstat监控cpu/内存/io

    一,安装pidstat: 1,安装 [root@localhost yum.repos.d]# yum install sysstat 2,查看版本: [root@localhost ~]# pids ...

  5. centos8平台基于iftop监控网络流量

    一,iftop的作用: 基于ip统计外部机器与本机之间的网络流量, 可以方便的查看各客户端是否有非正常的到本机的访问 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnbl ...

  6. centos8平台使用mpstat监控cpu

    一,mpstat的用途 mpstat是 Multiprocessor Statistics的缩写,是实时cpu监控工具. 在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU ...

  7. centos8平台使用slabtop监控slab内存的状态

    一,slabtop 所属的包: [root@yjweb ~]# whereis slabtop slabtop: /usr/bin/slabtop /usr/share/man/man1/slabto ...

  8. 【Linux】监控系统的状态

    1.w命令 w命令是一个很强大的命令,该命令显示的信息比较丰富.以下是我的虚拟机w命令的一个展示 从上图我们可以看到: 第一行从左面开始显示的信息依次为:时间.系统运行时间.登陆用户数.平均负载 第二 ...

  9. Legolas工业自动化平台案例 —— 水源地自动化监控系统

    天津港爆炸事件后,除了安置群众.追究事故责任外,人们最关心的莫过于爆炸污染物对于周边环境的影响,其中最重要的一块就是饮用水的安全.所幸的是,水源的安全监测是实实在在有据可依的.环保单位和供水企业在建设 ...

随机推荐

  1. 第9课 - const 和 volatile分析

    第9课 - const和volatile分析 1. const只读变量 (1)const修饰的变量是只读的,本质上还是变量,并不是真正意义上的常量         ※※ const只是告诉编译器该变量 ...

  2. [LeetCode] 207. 课程表(拓扑排序,BFS)

    题目 现在你总共有 n 门课需要选,记为 0 到 n-1. 在选修某些课程之前需要一些先修课程. 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量 ...

  3. Scala的递归函数应用

    使用递归函数实现累加: def sum(nums:Int*):Int={ if(nums.length == 0) 0 else nums.head + sum(nums.tail:_*) } 结果为 ...

  4. 鸿蒙真的是套壳吗?HarmonyOS应用开发初体验,Java原生和JavaScript的mvvm开发

    初探寻鸿蒙os的应用开发 本期视频已发布到bilibili 注意是应用开发,没错码农(应用开发)一般关注这个就行了 IDE 点击应用开发以后,点击链接下载IDE,DevEco Studio是基于IDE ...

  5. 第一次软件工程与UML作业

    这个作业属于哪个课程 https://url.cn/IMQa18Jo 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/ ...

  6. 格式化时间戳的n种方法

    1 var time = new Date(ele.time).toLocaleString().split(' ')[0] 2 formatDate: function (value) { let ...

  7. vue大型项目高性能优化----想说爱你真的不容易

    一.背景   目前公司的电子合同采用表单设计器+合同业务配合实现,做了半年多后终于上线,但是下边员工普遍反映卡顿,甚至卡死,爆栈.尤其是新增和修改合同页面,因为这部分数据量大,逻辑复杂,很容易崩溃,所 ...

  8. PHP基础之面向对象篇

    前言 前面写的都是运算符.流程控制.排序查找等,下面说一说面向对象的一些内容.这是前面写的,有兴趣可以去看一看. PHP入门之类型与运算符 PHP入门之流程控制 PHP入门之函数 PHP入门之数组 P ...

  9. 关于windows服务器的Security安全类日志的导出

    对于windows服务器,日志的分类会有很多,可以通过wevtutil el 列出 有时可能会对Security安全类日志进行审计,这里简单讲一下安全类日志的导出方法 1.直接在cmd中执行 wevt ...

  10. kafka学习(四)kafka安装与命令行调用

    文章更新时间:2020/06/07 一.安装JDK 过程就不过多介绍了... 二.安装Zookeeper 安装过程可以参考此处~ 三.安装并配置kafka Kafka下载地址  http://kafk ...