Linux里面vmstat命令作用是什么?vmstat是一个提供报告虚拟内存统计的工具,包括了系统内存、交换和实时处理器利用率。接下来我们来看看详细的内容介绍。 vmstat:虚拟内存统计 命令详解 【命令星级】 ★★★★☆ 【功能说明】 vmstat是Virtual Memory Statistics(虚拟内存统计)的缩写,利用vmstat命令可以对操作系统的内存信息、进程状态和CPU活动等进行监视。但是只能对系统的整体情况进行统计,无法对某个进程进行深入分析。 【语法格式】 vmstat [option] [delay [ count]] vmstat [选项] [时间间隔[次数]] 说明: 1)在vmstat命令及后面的选项里,每个元素之间都至少有一个空格。 2)delay表示两次输出之间的间隔时间。 3)count表示按照delay指定的时间间隔统计的次数。 【选项说明】 表11-4针对该命令的参数选项进行了说明。 使用范例 范例11-12:显示虚拟内存使用情况。 [root@oldboy ~]# vmstat #<==如果省略“间隔时间”和“次数”参数,则仅显示一次报告后就退出 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 71756 38600 279084 0 0 24 6 15 18 0 0 100 0 0 [root@oldboyedu ~]# vmstat 5 #<==表示每5秒钟更新一次输出信息,循环输出,按Ctrl+C组合键停止输出。 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 71804 38600 279084 0 0 2 1 9 9 0 0 100 0 0 0 0 0 71756 38600 279084 0 0 0 0 8 8 0 0 100 0 0 0 0 0 71756 38600 279084 0 0 0 0 9 9 0 0 100 0 0 ^C [root@oldboyedu ~]# vmstat 5 6 #<==表示每5秒更新一次输出信息,统计6次后停止输出。 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 71804 38600 279084 0 0 2 1 9 9 0 0 100 0 0 0 0 0 71756 38600 279084 0 0 0 0 9 8 0 0 100 0 0 0 0 0 71756 38600 279084 0 0 0 0 8 9 0 0 100 0 0 0 0 0 71756 38600 279084 0 0 0 0 9 8 0 0 100 0 0 0 0 0 71756 38600 279084 0 0 0 0 9 8 0 0 100 0 0 0 0 0 71756 38600 279084 0 0 0 0 9 8 0 0 100 0 0 [root@oldboy ~]# 以下是命令结果说明。 第1列:procs。 q r列表示运行和等待CPU时间片的进程数。 q b列表示在等待资源的进程数。 第2列:memory。 q swpd列表示使用虚拟内存大小。 q free列表示当前空闲的物理内存数量。 q buff列表示buffers 的内存数量。 q cache列表示cache的内存数量。 第3列:swap。 q si(swap in)列表示由磁盘调入内存,也就是内存进入内存交换区的数量。 q so(swap out)列表示由内存调入磁盘,也就是内存交换区进入内存的数量。 第4列:I/O项显示磁盘读写状况。 q bi列表示从块设备读入数据的总量(即读磁盘)(块/s)。 q bo列表示写入到块设备的数据总量(即写磁盘)(块/s)。 第5列:system显示采集间隔内发生的中断数。 q in列表示在某一时间间隔中观测到的每秒设备中断数。 q cs列表示每秒产生的上下文切换次数。 第6列:CPU项显示了CPU的使用状态。 q us列显示了用户进程消耗的CPU时间百分比。 q sy列显示了系统(内核)进程消耗的CPU时间百分比。 q id列显示了CPU处在空闲状态的时间百分比。 q wa列显示了IO等待所占用的CPU时间百分比。 q st列显示了虚拟机占用的CPU时间的百分比。 范例11-13:显示活跃和非活跃内存。 [root@oldboy ~]# vmstat -a 2 5 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 71804 160408 165848 0 0 2 1 9 9 0 0 100 0 0 0 0 0 71756 160408 165844 0 0 0 0 11 11 0 0 100 0 0 0 0 0 71756 160408 165844 0 0 0 0 12 9 0 0 100 0 0 0 0 0 71608 160412 165672 0 0 0 1302 218 341 12 9 80 0 0 0 0 0 71608 160412 165672 0 0 0 0 10 9 0 0 100 0 0 使用-a选项显示活跃和非活跃内存时,所显示的内容除增加了inact和active外,其他显示内容与范例11-12相同。 在Memory列增加的inact和active两列,说明如下。 q inact: 非活跃内存大小(当使用-a选项时显示)。 q active: 活跃的内存大小(当使用-a选项时显示)。 范例11-14:查看内存使用的详细信息。 [root@oldboy ~]# vmstat -s 486640 total memory 414572 used memory 165656 active memory 160420 inactive memory 72068 free memory …… 这些信息的分别来自于/proc/meminfo,/proc/stat和/proc/vmstat。 范例11-15:查看磁盘的读/写。 [root@oldboy ~]# vmstat -d disk- ------------reads------------ ------------writes----------- -----IO------ total merged sectors ms total merged sectors ms cur sec ram0 0 0 0 0 0 0 0 0 0 0 ram1 0 0 0 0 0 0 0 0 0 0 …… sr0 0 0 0 0 0 0 0 0 0 0 sda 14667 3623 594388 6737 12864 32806 365372 44250 0 30 这些信息主要来自于/proc/diskstats。其中的merged表示一次来自于合并的写/读请求,一般系统会把多个连接/邻近的读/写请求合并到一起来操作。 范例11-16:查看/dev/sda1磁盘的读写统计信息。 [root@oldboy ~]# vmstat -p /dev/sda1 sda1 reads read sectors writes requested writes 502 4162 14 68 这些信息主要来自于/proc/diskstats。各列的说明如下。 q reads:来自于这个分区的读的次数。 q read sectors:来自于这个分区的读扇区的次数。 q writes:来自于这个分区的写的次数。 q requested writes:来自于这个分区的写请求次数。 |
|