VirtualMemoryStatistics(vmstat)是报告关于进程,虚拟内存,磁盘,CPU活动的一个统计报告.
在一个多CPU系统中,vmstat统计所有个数的CPU的平均输出.为每个进程进行统计.没有参数时,vmstat显示每一行是自从系统启动以后的虚拟内存的活动情况.
vmstat的语法我们可以通过linux的man命令来查看。
将man的结果导入到指定的文本
#manvmstat|col-b>/u01/tianlesoftware.txt
查看vmstat用法
#manvmstat
VMSTAT(8) LinuxAdministrator’sManual VMSTAT(8)
NAME
vmstat-Reportvirtualmemorystatistics
SYNOPSIS
vmstat[-a][-n][delay[count]]
vmstat[-f][-s][-m]
vmstat[-Sunit]
vmstat[-d]
vmstat[-pdiskpartition]
vmstat[-V]
DESCRIPTION
vmstatreportsinformationaboutprocesses,memory,paging,blockIO,
traps,andcpuactivity.
Thefirstreportproducedgivesaveragessincethelastreboot. Addi-
tionalreportsgiveinformationonasamplingperiodoflengthdelay.
Theprocessandmemoryreportsareinstantaneousineithercase.
Options
The-aswitchdisplaysactive/inactivememory,givena2.5.41kernel
orbetter.
The-fswitchdisplaysthenumberofforkssinceboot. Thisincludes
thefork,vfork,andclonesystemcalls, andisequivalenttothe
totalnumberoftaskscreated.Eachprocessisrepresentedbyoneor
moretasks,dependingonthreadusage.Thisdisplaydoesnotrepeat.
The-mdisplaysslabinfo.
The-nswitchcausestheheadertobedisplayedonlyonceratherthan
periodically.
The-sswitchdisplaysatableofvariousevent countersandmemory
statistics.Thisdisplaydoesnotrepeat.
delayisthedelaybetweenupdatesinseconds. Ifnodelayisspeci-
fied,onlyonereportisprintedwiththeaveragevaluessinceboot.
countisthenumberofupdates. Ifnocountisspecifiedanddelayis
defined,countdefaultstoinfinity.
The-dreportsdiskstatistics(2.5.70oraboverequired)
The-pfollowedbysomepartitionnamefordetailedstatistics(2.5.70
oraboverequired)
The-SfollowedbykorKormorMswitchesoutputsbetween 1000,
1024,1000000,or1048576bytes
The-Vswitchresultsindisplayingversioninformation.
FIELDDESCRIPTIONFORVMMODE
Procs
r:Thenumberofprocesseswaitingforruntime.
b:Thenumberofprocessesinuninterruptiblesleep.
Memory
swpd:theamountofvirtualmemoryused.
free:theamountofidlememory.
buff:theamountofmemoryusedasbuffers.
cache:theamountofmemoryusedascache.
inact:theamountofinactivememory.(-aoption)
active:theamountofactivememory.(-aoption)
Swap
si:Amountofmemoryswappedinfromdisk(/s).
so:Amountofmemoryswappedtodisk(/s).
IO
bi:Blocksreceivedfromablockdevice(blocks/s).
bo:Blockssenttoablockdevice(blocks/s).
System
in:Thenumberofinterruptspersecond,includingtheclock.
cs:Thenumberofcontextswitchespersecond.
CPU
ThesearepercentagesoftotalCPUtime.
us:Timespentrunningnon-kernelcode.(usertime,includingnicetime)
sy:Timespentrunningkernelcode.(systemtime)
id:Timespentidle.PriortoLinux2.5.41,thisincludesIO-waittime.
wa:TimespentwaitingforIO.PriortoLinux2.5.41,shownaszero.
FIELDDESCRIPTIONFORDISKMODE
Reads
total:Totalreadscompletedsuccessfully
merged:groupedreads(resultinginoneI/O)
sectors:Sectorsreadsuccessfully
ms:millisecondsspentreading
Writes
total:Totalwritescompletedsuccessfully
merged:groupedwrites(resultinginoneI/O)
sectors:Sectorswrittensuccessfully
ms:millisecondsspentwriting
IO
cur:I/Oinprogress
s:secondsspentforI/O
FIELDDESCRIPTIONFORDISKPARTITIONMODE
reads:Totalnumberofreadsissuedtothispartition
readsectors:Totalreadsectorsforpartition
writes:Totalnumberofwritesissuedtothispartition
requestedwrites:Totalnumberofwriterequestsmadeforpartition
FIELDDESCRIPTIONFORSLABMODE
cache:Cachename
num:Numberofcurrentlyactiveobjects
total:Totalnumberofavailableobjects
size:Sizeofeachobject
pages:Numberofpageswithatleastoneactiveobject
totpages:Totalnumberofallocatedpages
pslab:Numberofpagesperslab
NOTES
vmstatdoesnotrequirespecialpermissions.
Thesereportsareintendedtohelpidentifysystembottlenecks. Linux
vmstatdoesnotcountitselfasarunningprocess.
Alllinuxblocksarecurrently1024bytes.Old kernelsmayreport
blocksas512bytes,2048bytes,or4096bytes.
Sinceprocps3.1.9,vmstatletsyouchooseunits(k,K,m,M)default
isK(1024bytes)inthedefaultmode
vmstatusesslabinfo1.1 FIXME
FILES
/proc/meminfo
/proc/stat
/proc/*/stat
SEEALSO
iostat(1),sar(1),mpstat(1),ps(1),top(1),free(1)
BUGS
Doesnottabulatetheblockioperdeviceorcountthenumberof sys-
temcalls.
AUTHORS
WrittenbyHenryWare<al172@yfn.ysu.edu>.
FabianFrédérick<ffrederick@users.sourceforge.net>(diskstat,slab,partitions...)
ThroatwobblerGinkgoLabs 27July1994 VMSTAT(8)
示例:
#vmstat210
procs-----------memory---------------------------swap--------io-------system-------cpu------
rbswpdfreebuffcachesisobiboincsussyidwa
11208289603812826820400278401050370546445
1020828896381282682040012801054310438581
20208288963813626819600257551056301439525
202082489638136268196002571104259368770
00208286723813626819600257251052372446455
002082882438140268192001291111052316332641
102082876838148268184002571091050286970211
1020828512381482681840025711046327648432
0020828832381482681840025711047313542521
002082883238152268180002571091050308433595
每2秒显示一次,共显示10次。
在Unix(Solaris)平台下:
-bash-3.00$vmstat210
kthrmemorypagediskfaultscpu
rbwswapfreeremfpipofrdesrs0s1----insycsussyid
00050163444200040126512350000010073114167233097
0002065576237511214540000000008706259503096
00020655122375048115000000000095152910663097
0002065512237504811530000000008525489343097
000206551223750484400000000008364839073097
0002065512237504814460000000008736329583097
00020655122375048000000000008124178633097
000206551223750484400000000008104818743097
00020653842374920000000001008014068623096
0002065384237492014460000000008175458983097
<!--EndFragment-->
一些标准说明:
CPU:
1)如果(processr)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU.
2)如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢.
3)如果空闲时间(cpuid)持续为0并且系统时间(cpusy)是用户时间的两倍(cpuus)系统则面临着CPU资源的短缺.
简单的说就是:
r和b不高于5,如果r经常大于4,且id经常少于40,则表示CPU负荷很重。
us+sy不超过80%,如果大于80,进程就会在运行队列中花费等待时间,响应时间和吞吐量就会下降。
wa不超过25,如果说wa>40表明磁盘io没有也许存在不合理的平衡,或者对磁盘操作比较频繁
一般情况下,导致CPU资源不足都是应用程序的问题.比如一些SQL语句不合理等等都会造成这样的现象.
内存:
si和so基本为零。其中si表示当前每秒交换回内存(Swapin)的总量,单位为kbytes;so表示当前每秒交换出内存(Swapout)的总量,单位为kbytes。如果si,so长期不等于0,表示系统使用swap频繁,即内存不足。
一般情况下,如果内存的占用率比较高,但是,CPU的占用很低的时候,可以考虑是有很多的应用程序占用了内存没有释放.
要注意的是,Linux内存在使用后不会释放,所以一般会看到内存使用率很高,要判断linux内存是否正常,需要通过对swap交换区的交换频率来看。
具体参考blog:Linux内存机制
http://blog.csdn.net/tianlesoftware/archive/2010/04/08/5463790.aspx
相关推荐
"vmstat命令详解" vmstat 命令是 UNIX 平台下一个非常有用的性能监测工具,能够实时监测 Linux 系统的 CPU、内存、IO 等性能参数。通过分析 vmstat 命令的输出结果,我们可以快速地了解系统的性能瓶颈,从而进行...
Linux/Unix 系统管理员在监控系统性能时,经常会使用 `vmstat` 命令。这个命令提供了关于操作系统核心层面的关键信息,包括CPU、内存、虚拟内存交换、输入输出(I/O)活动以及系统调度等状态。下面我们将深入探讨 `...
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都...
vmstat命令是常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix喜爱的命令,一个是Linux/Unix都支持...
除了这些基本的命令,HP-UNIX还提供了许多其他工具和命令,例如`ps`用于查看进程状态,`df`显示磁盘空间使用情况,`swapon`和`swapoff`管理交换分区,`vmstat`报告虚拟内存统计,`netstat`查看网络连接状态,`...
在UNIX操作系统中,命令行是用户与系统交互的主要方式,对于熟悉这些命令是至关重要的。本文将对比分析几种主流的UNIX系统,包括HP-UX、AIX、Solaris(SPARC)、Linux(Red Hat)以及Tru64,探讨它们在用户账号设置...
以下是关于"HP-UNIX基本命令操作"的一些关键知识点: 1. **查看机型**:通过`prtdiag`命令,可以获取服务器的硬件配置信息,包括型号、CPU类型、内存大小等。 2. **查看CPU个数**:`prtconf -v`命令可以列出系统中...
- **vmstat命令**:`vmstat`提供关于虚拟内存、进程、CPU活动和磁盘I/O的统计信息,帮助识别系统瓶颈。例如,`vmstat 1 4`每秒报告一次状态,共报告4次。 - **prstat命令**:AIX特有的命令,它提供了类似`ps`的...
在Unix系统中,掌握一些关键的性能监控命令是每个系统管理员和IT专业人员必备的技能。这些命令能够帮助我们理解系统的运行状态,诊断问题,并优化性能。以下是一些常用的Unix系统性能查看命令的详细说明: 1. **top...
vmstat 和 iostat 是 UNIX 平台下两个常用的性能监测命令,vmstat 主要用于显示虚拟内存、进程、磁盘 I/O、CPU 使用率等信息,而 iostat 主要用于显示磁盘 I/O 情况。这两个命令的输出结果可以帮助我们更好地了解...
1. **Unix命令**:Unix系统的强大之处在于它的命令行接口,用户可以通过输入命令来执行各种任务。如`ls`用于列出目录内容,`cd`用于切换目录,`pwd`显示当前工作目录,`mkdir`创建新目录,`rm`删除文件或目录,`cp`...
AIX,全称为Advanced Interactive eXecutive,是IBM开发的一种UNIX操作系统,广泛应用于企业级服务器和高端工作站。本资源提供了全面的AIX命令参考大全,对于熟悉和操作AIX系统至关重要。以下将针对AIX命令及使用...
VMSTAT 命令的基本格式为 `vmstat [选项]`。当不带任何参数运行时,它将显示自系统启动以来的平均统计数据。如果带有时间间隔作为参数(例如 `vmstat 5`),则会每隔指定的时间间隔输出一次实时的系统状态信息。 ##...
在HP-UNIX操作系统中,掌握一些基础的命令对于管理和维护系统至关重要...在实际工作中,还需要结合其他命令如`#ps`(进程状态)、`#vmstat`(虚拟内存统计)和`#iostat`(I/O统计)等,对系统进行更全面的监控和分析。
##### vmstat命令字段解析 `vmstat`命令提供了关于进程、内存、分页、磁盘活动和系统中断的统计信息: - **procs**: - `r`:等待运行的进程数 - `b`:阻塞的进程数 - `w`:等待资源的换出进程数 - **memory**: ...
本文主要汇总了AIX、HP-UNIX和Linux三个操作系统中的常用命令,并对这些命令进行了详细的解释和使用示例,旨在帮助系统管理员更好地理解和操作这三个平台。 首先,我们关注AIX系统。AIX(Advanced Interactive ...
【Unix培训(命令).ppt】概述 Unix是一个古老但依然活跃的操作系统,起源于1969年,由贝尔实验室的Ken Thompson和Dennis Ritchie等人开发。它最初基于Multics计划的理念,经过简化和改进,最终用C语言编写,形成了...