系统性能监控工具 - vmstat

  用来获得UNIX系统有关进程、虚存、页面交换空间及CPU活动的信息。这些信息反映了系统的负载情况。vmstat首次运行时显示自系统启动开始的各项统计信息,之后运行vmstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
1)每隔1秒输出一条信息,一共输出3条后退出
vmstat 1 3
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 531760 67284 231212 108 0 0 260 111 148 1 5 86 8 0
0 0 0 531752 67284 231212 0 0 0 0 33 57 0 1 99 0 0
0 0 0 531752 67284 231212 0 0 0 0 40 73 0 0 100 0 0

有关进程的信息有:(procs)
r: 在就绪状态等待的进程数,表示运行队列中已分配到资源等待CPU分配运行时间的进程数,当这个值超过了CPU数目,就会出现CPU瓶颈了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。
b: 表示阻塞等待IO或其他资源的进程数目。

1)有关内存的信息有:(memory)
swpd: 正在使用的虚拟内存swap大小,单位为KB。结合swap列来看。
free: 空闲的内存空间。
buff: 已使用的buff大小,对块设备的读写进行缓冲。
cache: 已使用的cache大小,文件系统的cache。

2)有关页面交换空间的信息有:(swap)
si: 交换内存使用,由磁盘调入内存,每秒传输的大小。
so: 交换内存使用,由内存调入磁盘,每秒传输的大小。

3)有关IO块设备的信息有:(io)
bi: 从块设备读入的数据总量(读磁盘) (KB/s)
bo: 写入到块设备的数据总量(写磁盘) (KB/s)

4)有关故障的信息有:(system)
in: 在指定时间内的每秒中断次数。包括硬中断和软中断。
cs: 在指定时间内每秒上下文切换的次数。 例如调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目,例如在 apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。

5)有关CPU的信息有:(cpu)
us: 在指定时间间隔内CPU在用户态的利用率。
sy: 在指定时间间隔内CPU在核心态的利用率。
id: 在指定时间间隔内CPU空闲时间比。
wa: 在指定时间间隔内CPU因为等待I/O而空闲的时间比。

vmstat可以用来确定一个系统的工作是受限于CPU还是受限于内存:如果CPU的sy和us值相加的百分比接近100%,或者运行队列(r)中等待的进程数总是不等于0,且经常大于4,同时id也经常小于40,则该系统受限于CPU;如果bi、bo的值总是不等于0,则该系统受限于内存。

时间: 2024-09-29 23:11:45

系统性能监控工具 - vmstat的相关文章

unix、linux下的系统性能监控工具nmon

一.nmon是一款很好的unix.linux下的系统性能监控工具. 引自百度知道: nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新.这个高效的工具可以工作于任何哑屏幕.telnet 会话.甚至拨号线路.另外,它并不会消耗大量的 CPU 周期,通常低于百分之二.在更新的计算机上,其 CPU 使用率将低于百分之一. 使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新.然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段.如果您拉伸窗口,并在 X

Unix系统性能监控工具之--SAR

Unix系统性能监控工具之--SAR 系统环境: 操作系统: AIX 5.3.9 Oracle:   Oracle 10gR2 SAR可用于监控Unix系统性能,帮助我们分析性能瓶颈.sar工具的使用方式为"sar [选项] intervar [count]",其中interval为统计信息采样时间,count为采样次数. 下文将说明如何使用sar获取以下性能分析数据: 整体CPU使用统计 各个CPU使用统计 内存使用情况统计 整体I/O情况 各个I/O设备情况 网络统计 常用的选项包

linux系统性能监控工具--htop与dstat介绍

目录 一.htop工具使用简介 二.dstat工具使用简介 此博文针对linux系统介绍两款常用系统性能监控软件的基本使用,对于Linux系统我们一般要监控的对象有进程.cpu.内存.磁盘IO.swap.网卡等. (一)htop工具使用简介 htop是一个比top更为易用,功能更强大的交互式进程查看器,是一个免费的,遵循GPL协定的,针对于Linux的进程查看器.还能实现在监控界面中对某一个进程发送信号,比如杀死一个进程等,也能调整一个进程的优先级等功能.先来一张htop运行时的图片. htop

linux监控工具vmstat命令详解(转)

一.前言 很显然从名字中我们就可以知道vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,但是怎样通过vmstat来发现系统中的瓶颈呢?在回答这个问题前,还是让我们回顾一下Linux中关于虚拟内存相关内容. 二.虚拟内存原理 在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间.当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供

系统性能监控工具 - mpstat

mpstat(Multiprocessor Statistics)是实时系统监控工具.报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPUs系统里,不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息.mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据:而类似工具vmstat只能查看系统整体cpu情况. mpstat [-P {|ALL}] [internal [count]]参数:-P {|ALL} 表示监控哪个CPU, cpu在[0

Linux监控工具vmstat命令详解

虚拟内存和swap分区的关系 首先,这两个概念分别对应windows和linux,即:windows:虚拟内存linux:swap分区 windows即使物理内存没有用完也会去用到虚拟内存,而Linux不一样 Linux只有当物理内存用完的时候才会去动用虚拟内存(即swap分区) swap类似于windows的虚拟内存,不同之处在于,Windows可以设置在 windows的任何盘符下面,默认是在C盘,可以和系统文件放在一个分区里.而linux则是独立占用一个分区,方便由于内存需求不够的情况下,

Java性能优化权威指南-读书笔记(一)-操作系统性能监控工具

一:CPU 1. 用户态CPU是指执行应用程序代码的时间占总CPU时间的百分比. 系统态CPU是指应用执行操作系统调用的时间占总CPU时间的百分比.系统态CPU高意味着共享资源有竞争或者I/O设备之间有大量的交互. 提高应用性能和扩展性的一个目标就是尽可能降低系统态CPU使用率. 2. CPU运行队列就是那些已经准备好运行.正等待可用CPU的轻量级进程. 当运行队列长度达到处理器的4被或者更多时,系统的相应就非常迟缓了. 解决运行队列长有两种办法: 1). 增加CPU以分担负载: 2). 分析系

Linux系统性能监控工具

Linux 系统性能监控 1 htop [[email protected] ~]# htop   1  [||                                       2.1%]     Tasks: 51, 73 thr; 1 running   2  [|                                        0.3%]     Load average: 0.00 0.02 0.00    Mem[|||||||||||||||||||||||

系统性能监控工具 - free

[[email protected] ~]# free [-b|-k|-m|-g] [-t] 参数: -b 以Byte为单位显示内存使用情况.-k 以KB为单位显示内存使用情况.-m 以MB为单位显示内存使用情况.-g 以GB为单位显示内存使用情况.-o 不显示缓冲区调节列.-s<间隔秒数> 持续观察内存使用状况.-t 显示内存总和列.-V 显示版本信息. 范例一:显示目前系统的内存容量,以MB为单位    [[email protected] ~]# free -m total used f