首页 > 系统相关 >Linux性能分析工具vmstat

Linux性能分析工具vmstat

时间:2022-12-30 15:31:33浏览次数:38  
标签:性能 Server vmstat 内存 Linux 磁盘 CPU JDCloud

1、vmstat简介

vmstat(Virtual Memory Statistics 虚拟内存统计) 命令用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。

vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

2、vmstat用法

vmstat [-a] [-n] [-t] [-S unit] [delay [ count]]

vmstat [-s] [-n] [-S unit]

vmstat [-m] [-n] [delay [ count]]

vmstat [-d] [-n] [delay [ count]]

vmstat [-p disk partition] [-n] [delay [ count]]

vmstat [-f]

vmstat [-V]

3、选项

-a:显示活跃和非活跃内存

-f:显示从系统启动至今的fork数量 。

-m:显示slabinfo

-n:只在开始时显示一次各字段名称。

-s:显示内存相关统计信息及多种系统活动数量。

delay:刷新时间间隔。如果不指定,只显示一条结果。

count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

-d:显示磁盘相关统计信息。

-p:显示指定磁盘分区统计信息

-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

-V:显示vmstat版本信息。

4、示例

示例1:vmstat 命令说明

[root@JDCloud_Server_v2 ~]# vmstat

Linux性能分析工具vmstat_虚拟内存

Procs(进程)

r:

运行队列中进程数量,这个值也可以判断是否需要增加CPU。(长期大于1)

b

等待IO的进程数量。

Memory(内存)

swpd

使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。

free

空闲物理内存大小。

buff

用作缓冲的内存大小。

cache

用作缓存的内存大小,如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache处,那么磁盘的读IO bi会非常小。

Swap

si

每秒从交换区写到内存的大小,由磁盘调入内存。

so

每秒写入交换区的内存大小,由内存调入磁盘。

注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。因为linux总是先把内存用光

IO

bi

每秒读取的块数

bo

每秒写入的块数

注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。

system(系统)

in

每秒中断数,包括时钟中断。

cs

每秒上下文切换数。

注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。

CPU(以百分比表示)

us

用户进程执行时间百分比(user time) us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。

sy:

内核系统进程执行时间百分比(system time) sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。

wa

IO等待时间百分比 wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

id

空闲时间百分比

实例2:vmstat –a 显示活跃和非活跃内存,显示增加了inact和active列

[root@JDCloud_Server_v2 domains]# vmstat -a

Linux性能分析工具vmstat_虚拟内存_02

示例3:vmstat -s 查看内存使用的详细信息

[root@JDCloud_Server_v2 ~]# vmstat -s

Linux性能分析工具vmstat_虚拟内存_03

示例4:vmstat -d 查看磁盘的读/写

[root@JDCloud_Server_v2 ~]# vmstat -d

Linux性能分析工具vmstat_虚拟内存_04

示例5: 查看/dev/vda1和/dev/vdb1磁盘的读/写

[root@JDCloud_Server_v2 ~]# vmstat -p /dev/vda1

[root@JDCloud_Server_v2 ~]# vmstat -p /dev/vdb1

Linux性能分析工具vmstat_Server_05



标签:性能,Server,vmstat,内存,Linux,磁盘,CPU,JDCloud
From: https://blog.51cto.com/u_12018693/5980310

相关文章

  • Linux终端小工具之tldr
    在终端上使用各种命令执行重要任务是Linux桌面体验中不可或缺的一部分。Linux这个开源操作系统拥有丰富的命令,任何用户都无法全部记住所有这些命令。而使事情变得更复杂......
  • Linux命令
    date显示系统当前如期和时间ifconfig查看IP地址who查看几个用户在线ls查看当前目录文件夹systemtctl服务名称startstoprestartiptables-L-v-n查看服务器有......
  • SELinux
    selinux的工作模式参考:http://c.biancheng.net/view/3906.htmlDisable(关闭模式)Selinux被关闭,默认的DAC访问控制方式被使用。Permissve(宽容模式)SELinux被启......
  • linux存储设备识别fc模式
    1.环境存储使用fc模式链接到服务器:服务器【QLE2692光纤卡】--光纤交换机【已划zone】--存储【已映射】多路径软件:multipathyuminstalldevice-mapper-multipath/sb......
  • Linux运维工程师 50个常见面试题
    1、请简述OSI七层网络模型有哪些层及各自的含义?物理层:底层数据传输,比如网线、网卡标准数据链路层:定义数据的基本格式,如何传输,如何标识。比如网卡MAC地址网络层:定义IP编码,定......
  • Linux报错:pip: command not found
    问题描述CentOS7下,执行pip提示不存在#系统cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)#检查python已存在$python-VPython2.7.5#检查pip,......
  • linux回炉第十天
    pvcreate/dev/sdb1vgcreatetest/dev/sdb1lvcreate-L1Gtestlvcreate-l20testlvextend-L2G/dev/test/lvol1vgextendtest/dev/sdb2lvreducevgreducelvremovevgre......
  • [2core]WorkerService在Windows和Linux下部署与运行
    一、概述从.netframework迁移到.netcore,除了要迁移基于asp.net的web程序,还有一个项目也是比较重要的,即服务程序或叫守护进程。在.netcore中创建workerservice程序已经......
  • linux 使用 nohup 运行 python 脚本,脚本中不要有input
    如题服务器系统由windows换为linux后阿里云的个人服务器报警性能受限但是服务器上运行的程序仅有数据采集,windows服务器上运行绰绰有余按理来说linux上会更轻松才对......
  • 关于创建高性能的索引
    关于创建高性能的索引索引是什么?索引相当于一本书的目录,我们要查找某一知识点,首先会到目录章节中进行比对,根据目录的指引快速定位到我们需要查找的某一指定章节的内容。......