`
QING____
  • 浏览: 2253257 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

vmstat命令学习

 
阅读更多

    vmstat命令比较常用,对于分析linux系统性能很有帮助。

    1、“vmstat -a -S m 1 5”

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 2  0      0    230   3034  27812    0    0     0     8 4331 3563  5  1 94  0  0	
 1  0      0    213   3035  27829    0    0     0     8 4375 3432  5  1 94  0  0

 

    两个可选参数:"1"表示每秒测量和报告一次,即频率;"5"表示总共报告的次数;上述例子表示每秒测量一次、共测量5次(打印5条);如果未指定第二个参数,则会一直测量下去。"-a"表示展示额外信息(incat、active),"-S m"内存数据部分以“m”为单位(默认为kb)。

 

    从结果中,可以看到,vmstat会打印有关内存、IO、CPU等信息,均为全局的;当我们需要从整体查看系统性能时,很有用。

    1、procs(进程):

        1)r:等待CPU的进程数;如果此值持续较高,说明CPU可能有瓶颈了。

        2)b:处于(uninterruptible sleep)状态的进程(D状态),之所以将这种状态的进程数特别展示出来,因为“不可打断的休眠”进程,跟我们通常意义上的“假死”进程很像,主要发生在IO等待直到资源返回才能唤醒,它不支持外部的唤醒型号(比如 kill -9)。这种状态的进程出现(或者多)通常与磁盘、NFS等外设故障有关,如果太多的D状态进程可能潜在导致CPU load增高(CPU利用率可能不高,因为这种状态下进程不消耗CPU)。

 

    2、Memory(默认单位kb):

        1)swpd:总虚拟内存大小(swap cached)禁用swap时,此值通常为0。此值较大时,表明物理内存在一定程度上不足,导致了swap,可能需要扩容内存了。

        2)free:空闲内存大小。(未分配、未使用)此值小,表示可供分配给进程(新)的空闲内存较少,但是并不表名实际可用内存也不足,这还需要关注cached内存部分。

        3)buff:磁盘IO或者网络IO读写时所占用的缓冲区内存大小,此值通常不会太大,IO调用结束后即伴随回收,主要用途提高IO效率。

        4)cache:缓存区内存大小。

        5)inact:inactive memory,非活跃缓存的大小。在IO操作时(磁盘文件)数据的pages-in的数据(内核态)缓存起来可以被多个进程访问以提高效率。“非活跃”表示缓存数据在一定时间内未被访问,可以被清理。

        6)active:active memory,活跃缓存的大小,正在(或者最近)被进程访问的也缓存数据大小;一段时间后如果未被访问,则会被迁移到inactive中。linux系统将使用LRU算法回收。此值大,不会有太大问题,其可以在进程需要内存是,按需回收;操作系统会尽可能多的使用cache来优化IO访问。(我们也可以使用指令回收cache)

    3、Swap(如果swap开启)

        1)si:从磁盘swap到内存中的数据大小。

        2)so:从内存中swap到磁盘中的内存大小。如果开启了swap,且物理内存不足时,此值通常很大。

    4、io(磁盘)

        1)bi:块设备(block device)每秒接收的快数量,默认块大小为1kb,我们根据此值可以推算磁盘写入能力,如果并发的、持续的文件写操作,此值通常很大。(尚不能推断磁盘性能瓶颈)。

        2)bo:块设备每秒发送的快数量。

    5、System:

        1)in:每秒中断次数(CPU),软 + 硬;对于异步网络IO、NIO(非阻塞多路复用)的应用系统,通常此值加高。如果异常的高(每秒数万次)并连带CPU利用率较高,需要考虑程序设计的问题。

        2)cs:每秒上下文切换测试。此值过高且连带CPU利用率较高或者load较高时,需要排查;比如较高的网络并发、超出实际的线程池并发操作,都可能导致此值超高。

    6、CPU(基于所有CPU时间占比计算):

        1)us:用户进程所占CPU时间比。

        2)sy:系统内核所占CPU时间比。

        3)wa:同iowait。

        4)st:虚拟机窃取时间。

 

 

    "vmstat -d" 用于查看磁盘IO相关数据。

    "vmstat -s" 用于查看有关详细的内存统计信息。

 

参考:

1、进程状态(D):http://blog.51cto.com/echo1937/1286437

2、https://www.thomas-krenn.com/en/wiki/Linux_Performance_Measurements_using_vmstat

分享到:
评论

相关推荐

    linux vmstat命令详解和使用实例.docx

    Linux vmstat命令详解和使用实例 vmstat 命令是 Linux 系统中的一种低开销的系统性能观察方式,通过它可以了解系统的整体情况。但是,它无法对某个进程进行深入分析。vmstat 工具可以提供对系统的整体情况进行统计...

    Linux系统命令top,ps,kill,free,vmstat等命令的源码

    5. **vmstat命令**:`vmstat`提供关于虚拟内存、进程、CPU活动等的统计信息。它的源码可能涉及如何收集和解读`/proc/vmstat`、`/proc/stat`等文件的数据,以展示系统活动和资源利用率。 通过研究这些命令的源码,...

    Shell基本命令学习

    ### Shell基本命令学习 在日常的系统管理和软件开发过程中,Shell命令是必不可少的一部分。通过掌握基本的Shell命令,我们可以更高效地与操作系统交互,完成各种任务。本文将详细介绍几个常用的Shell命令及其用法。...

    linux操作系统实验七-Linux存储管理操作实践.pdf

    步骤 3:学习使用 vmstat 命令及其参数使用 * vmstat 命令是 Linux 系统中用来显示系统的虚拟内存统计信息的命令。该命令可以显示当前系统的虚拟内存使用情况、磁盘统计信息等。 * vmstat 命令的参数包括 -a、-f、-...

    通过vmstat的简单分析数据库操作

     在学习vmstat的时候,突然想看看数据库中的并行对于系统级的影响到底有多紧密,自己简单测试了一下。  首先来看看vmstat的命令的解释。  可能大家并不陌生,如果需要每隔2秒,生成3次报告,可以使用vmstat 2 ...

    linux操作系统实验七 Linux存储管理操作实践.pdf

    3. 学习使用 vmstat 命令及其参数使用,列出执行结果并解释其中的意义。 vmstat 命令用于显示当前系统的虚拟内存情况,参数 -a 和 -f 分别显示活动页面统计和磁盘统计,参数 -d 和 -n 分别显示磁盘表和版本信息。 4...

    linux常用命令和工具白皮书

    "vmstat"命令则提供关于系统内存、交换、I/O等信息。 系统日志是诊断问题的关键资源,通过查看诸如/var/log/messages、/var/log/syslog等日志文件,可以找到系统或服务出错的信息。此外,/etc/passwd文件包含用户...

    150个常用Linux命令

    通过以上命令的学习和实践,不仅可以提升你在Linux系统下的工作效率,还可以帮助你更好地理解Linux的工作原理。记住,命令的掌握需要不断练习和使用,理论结合实践才能真正掌握。希望每位学习者都能通过这些基础知识...

    linux核心命令速查

    除了这些常见命令之外,《linux核心命令速查》还可能包括许多其他命令以及它们的高级使用技巧,例如用于系统监控的`vmstat`、`iostat`、`free`,用于任务调度的`cron`和`at`,以及用于用户和权限管理的`useradd`、`...

    Linux基本命令集1

    - **vmstat命令**:显示虚拟内存统计。 - **iostat命令**:监控I/O设备活动。 - **lsblk命令**:列出磁盘设备信息。 25. **磁盘存储命令**: - **df命令**:查看磁盘空间使用情况。 - **du命令**:统计目录或...

    Linux命令大全完整版.pdf

    3. 系统监控命令:`free`、`df`、`vmstat`、`iostat`和`sar`等命令用来监控系统的内存、磁盘和CPU使用情况。 4. 文件系统操作命令:如`cp`(复制)、`mv`(移动)、`rm`(删除)、`mkdir`(创建目录)、`rmdir`...

    Linux命令大全 Linux命令大全

    在IT领域,Linux操作系统是开发者、系统管理员以及技术爱好者的重要工具。Linux命令行界面提供了强大的功能,通过一系列命令,用户可以...记得实践是学习Linux命令的最好方式,多尝试、多用,才能真正理解并运用自如。

    AIX5.3命令参考

    AIX(Advanced Interactive eXecutive)是IBM开发的一款基于UNIX的操作系统,广泛应用于大型机和小型...在实际工作中,结合"AIX5.3命令参考大全",可以迅速查找和学习具体命令的使用方法,提升AIX系统管理的专业能力。

    AIX操作命令参考大全

    AIX(Advanced Interactive eXecutive)是IBM开发的一款基于UNIX的操作系统,广泛应用于IBM的Power Systems服务器。..."AIX命令.chm"文件提供了全面的参考资料,值得每个AIX管理员和使用者查阅和学习。

    操作系统实验报告一.doc

    * vmstat 命令:用于监视虚拟内存、分析共享内存、信号量和消息队列。 * ipcs 命令:用于监视用户空间程序发出的全部系统调用。 * strace 命令:用于监视用户空间程序发出的全部系统调用。 通信类: * ftp 命令:...

    aix v6.1命令参考大全,卷 5:s - u

    这意味着用户可以根据参考资料中的指导,快速学习并应用各种命令来管理AIX系统。详细解释的内容对于初学者来说是很有帮助的,因为它能提供清晰的理解和实践的指导。 标签“AIX命令详解”进一步强调了这本大全是专注...

    linux操作系统实验七-Linux存储管理操作实践分享.pdf

    本实验报告的主要目的在于让学生掌握 Linux 存储管理相关操作的基本方法,通过本实验的学习,学生可以熟悉 Linux 存储管理的各种命令和参数的使用。 一、Linux 存储管理的基本概念 Linux 存储管理是指操作系统对...

    AIX命令参考大全中文版

    **AIX命令参考大全中文版**是一份由IBM官方提供的详尽指南,旨在帮助系统管理员和运维人员更好地理解和使用AIX操作系统中...通过深入学习和实践这些命令,可以提升在AIX环境下的工作效率,更好地维护和优化服务器性能。

    Aix命令今天重发

    比如,`top`命令用于实时查看系统资源使用情况,`vmstat`分析虚拟内存状态,`netstat`检查网络连接和监听状态。 了解并熟练掌握AIX命令是提升系统管理效率的关键,也是成为一名合格的AIX系统管理员的基础。这三卷...

    Linux命令大全 下载

    **Linux命令大全** 在Linux操作系统中,...通过学习和熟练掌握这些命令,用户可以在Linux环境中高效地工作,无论是日常使用还是进行系统维护。对于开发者和IT专业人士来说,理解并运用这些命令是至关重要的技能。

Global site tag (gtag.js) - Google Analytics