Linux中虚拟内存查看命令vmstat的使用教程

如题所述

vmstat是一个查看虚拟内存使用状况的工具,它可以看到服务器使用率,内存使用,虚拟内存交换情况,IO读写.相比top,可以看到整个机器的CPU,memory,IO的使用情况,而不是单单看到各个进程各值的使用率.

默认情况下,vmstat命令并没有安装,需要安装sysstat包,该包里含有vmstat程序.

一般经常使用的该命令后加2个数字参数,第一个参数是采样的时间间隔(秒),第二个参数是采样的次数.

基本参数:

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

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

[-n]:只在开始时显示一次字段名,针对多次收集信息的情况输出人性化一点

[-t]:在每条信息的末尾,显示收集信息的时间

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

[delay [count]]:delay是信息收集间隔,count是信息收集的次数

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

[-s]:显示内存相关的统计信息

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

[-m]:显示slabinfo,slabinfo信息记录在/proc/slabinfo文件中。slab是linux的一个内存分配机制。

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

[-d]:显示相关磁盘的统计信息

注:这个跟楼下-p的区别统计信息的不同、统计对象这个是磁盘-p是子分区、这个不能指定全部输出

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

[-p disk partition]:显示磁盘子分区的统计信息,这里没有iostat的信息那么有用

vmstat [-f]

[-f]:开机启动至今的fork数量 注:这里的fork应该是内核的fork()函数,在父进程中,fork返回新创建子进程的进程ID

vmstat [-V]

[-V]:版本信息

示例


代码如下:

root@192.168.22.54:~# vmstat 2 10

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

13  0      0 542604 323512 12356052    0    0     0     2    0    0 17 18 65  0  0

42  0      0 552500 323512 12356112    0    0     0     0 18669 49903 42 45 14  0  0   

72  0      0 563416 323512 12356132    0    0     0     0 18394 49895 41 43 16  0  0   

73  0      0 570924 323512 12356164    0    0     0     0 19666 51678 37 41 22  0  0   

13  0      0 581208 323512 12356204    0    0     0   280 18990 49541 43 43 15  0  0   

18  0      0 587148 323512 12356228    0    0     0    32 19360 49203 37 39 24  0  0   

27  0      0 520016 323512 12356292    0    0     0     0 20423 52865 39 40 21  0  0   

18  0      0 527512 323512 12356336    0    0     0     0 19613 53052 42 43 16  0  0   

23  0      0 538608 323512 12356376    0    0     0     0 18860 50645 41 42 18  0  0   

80  0      0 548608 323512 12356444    0    0     0     0 19781 50917 41 42 17  0  0  

根据以上实例,下面是字段说明:

Procs(进程)

r:表示运行队列的进程数量,换句话说就是多少个进程真正分配到cpu.服务器配置cpu为8核,这里由于服务器运行了大量的程序在跑,当这个值超过了cpu数目,且id较小,就可能会出现cpu瓶颈.运行队列过大,表示cpu很繁忙,一般会造成cpu使用率过高.

b:等待io的进程数.

Memory

swpd:虚拟内存使用情况,单位KB

free:空闲的内存

buff:用作缓冲的内存大小,内存中的一部分,某程序代码缓存,不可移到swap里去.

cache:用作缓存的内存大小,数据缓存,允许交给swap

Swap

si:从磁盘交换到内存的交换页数量,每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露.

so:从内存交换到磁盘的交换页数量,每秒虚拟内存写入磁盘的大小,如果这个值大于0,表示物理内存不够用或者内存泄露.

bi:Blocks received from a block device (blocks/s).每秒从块设备接收到的块数,即读块设备。

bo:Blocks sent to a block device (blocks/s).每秒发送到块设备的块数,即写块设备。

System

in:每秒中断数,包括时钟中断.

cs:每秒上下文切换数.这个值越小越好.比如每次调用系统函数,线程的切换,代码就会进入内核空间,导致上下文切换,次数过多表示cpu大部分浪费在上下文切换,导致cpu没有充分利用.

CPU(以百分比表示)

us:用户进程执行的时间,用户cpu使用率,操作运算等.

sy:系统进程执行的时间,系统cpu使用率,读取硬盘,操作硬件等.

id:空闲时间(包括IO等待时间)

wa:等待IO时间

温馨提示:内容为网友见解,仅供参考
无其他回答

Linux中虚拟内存查看命令vmstat的使用教程
默认情况下,vmstat命令并没有安装,需要安装sysstat包,该包里含有vmstat程序.一般经常使用的该命令后加2个数字参数,第一个参数是采样的时间间隔(秒),第二个参数是采样的次数.基本参数:vmstat [-a] [-n] [-t] [-S unit] [delay [ count]][-a]:显示活跃和非活跃内存[-n]:只在开始时显示...

linux vmstat命令详解和使用实例
其次,linux进行页面交换是有条件的,不是所有页面在不用时都交换到虚拟内存,linux内核根据”最近最经常使用“算法,仅仅将一些不经常使用的页面文件交换到虚拟内存,有时我们会看到这么一个现象:linux物理内存还有很多,但是交换空间也使用了很多。其实,这并不奇怪,例如,一个占用很大内存的进程运行时,需要耗费很多内存资源,...

linux vmstat命令详解
基本介绍:vmstat命令用于显示虚拟内存状态,可对操作系统的虚拟内存、进程、CPU活动进行监控。入门测试:显示活动内页:vmstat -a 代码说明及拓展:-a 显示活动内页 -f 显示启动后创建的进程总数 -m 显示slab信息 -n 头信息仅显示一次 -s 以表格方式显示事件计数器和内存状态 -d 报告磁盘状态 -p ...

【linux学习】性能监控之 vmstat 命令
在Linux系统中,运维工程师需要掌握的命令之一是vmstat,它能提供关于虚拟内存、分页、磁盘I\/O、CPU使用情况等关键性能指标的统计信息。它并非默认安装,如需使用,可通过"yum install sysstat"进行安装。命令执行时,若无特殊选项,将显示自系统上次重启以来的平均值。例如,要查看CPU、内存、交换空间,直接...

vmstat在linux中是什么命令
1)在vmstat命令及后面的选项里,每个元素之间都至少有一个空格。2)delay表示两次输出之间的间隔时间。3)count表示按照delay指定的时间间隔统计的次数。【选项说明】表11-4针对该命令的参数选项进行了说明。使用范例 范例11-12:显示虚拟内存使用情况。[root@oldboy ~]# vmstat #<==如果省略“间隔时间”...

linux中查看虚拟内存和cpu占用率的命令是什么
命令 vmstat - 报告虚拟内存的统计信息。vmstat 对系统的进程情况、内存使用情况、交换页和 I\/O 块使用情况、中断以及 CPU 使用情况进行统计并报告相应的信息。Memory swpd:虚拟内存使用情况,单位:KBfree:空闲的内存,单位KBbuff:被用来做为缓存的内存数,单位:KB.si:从磁盘交换到内存的交换页数量,...

Unix vmstat 命令详解宝典
在一个多CPU系统中,vmstat统计所有个数的CPU的平均输出.为每个进程进行统计.没有参数时,vmstat显示每一行是自从系统启动以后的虚拟内存的活动情况.vmstat 的语法我们可以通过linux的man 命令来查看。将man 的结果导入到指定的文本# man vmstat|col -b \/u01\/tianlesoftware.txt 查看vmstat 用法 # man ...

如何查看Linux的内存使用率
[root@sharplee creatfile]# cat \/proc\/meminfo 3. 使用vmstat命令查看内存使用率 vmstat命令是报告虚拟内存统计信息的另一个有用工具。它报告有关进程、内存、分页、块IO、磁盘和CPU功能的信息。vmstat不需要特殊权限,可以帮助识别系统瓶颈。[root@sharplee creatfile]# vmstat 以下是对上图命令的解释...

获取linux内存使用情况的方法linux查看内存占用命令是什么
下面是小编整理的 5 个非常实用的 Linux 内存查看命令:1、free命令 2、 vmstat命令 3、 \/proc\/meminfo 命令 4、 top命令 5、 htop 命令 free命令命令格式: free –m 用途:用于检查有关系统RAM的使用情况(查看系统的可用和已用内存)小试牛刀:可用内存计算公式:可用内存 =free +buffers...

linux怎么查看内存大小,linux怎么查看内存使用情况
1、使用free命令 free命令是查看系统内存状态最常用的命令。它显示了总内存、已用内存、空闲内存、共享内存、缓冲区和缓存。free 2、使用top命令 top命令可以显示系统实时状态,包括内存使用情况。按F2键,然后选中Mem列,可以查看内存大小和使用情况。top 3、使用vmstat命令 vmstat命令可以显示虚拟内存统计...

相似回答
大家正在搜