linux系统性能调优之vmstat

一 vmstat 更多请到http://www.07net02.com查阅

vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

vmstat可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:

上面第二个命令意思是只进行每隔两秒不停的进行采集

现在了解下采集的参数:

r :表示运行队列,当这个值超过CPU数目,就会出现瓶颈,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。

b :进程阻塞

swap :虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。

free:列表示当前空闲的物理内存数量(以KB为单位)

buff:列表示buffers cache的内存数量,一般对块设备的读写才需要缓冲;这里8676k;

si :每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。

so:每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

bi:块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte,我本机上没什么IO操作,所以一直是0;

bo:块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。

in:每秒CPU的中断次数,包括时间中断;

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

us:用户CPU时间,我曾经在一个做加密解密很频繁的服务器上,可以看到us接近100,r运行队列达到80(机器在做压力测试,性能表现不佳)。

sy:系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。

id:系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。

wt:等待IO CPU时间。

时间: 2024-10-05 11:35:33

linux系统性能调优之vmstat的相关文章

linux 系统性能调优 相关命令汇总

linux 系统性能调优 相关命令汇总: 1. ps:查看系统中当前有哪些进程在运行 常用命令有ps aux  | grep  -i  mysql http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html 2. top:动态显示各个程序对cpu,内存的占用,以及负载的情况 http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316399.html 3. io的总体负载,进程的io

Android/Linux 系统性能调优

关于性能优化这是一个比较大的话题,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法.本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充. 在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的<代码优化概要>,这篇文章基本上告诉你--要进行优化,先得找到性能瓶颈! 但是在讲如何定位系统性能瓶劲之前,请让我讲一下系统性能的定义和测试,因为没有这两件事,后面的定位和优化无从谈起. 一.系统性能定义 让我们先来说说如何什么是系统性能.这个定义非常关键,如果我们不清楚

Linux系统调优之vmstat

查找瓶颈 您在度量中最感兴趣的系统方面应该是 CPU 使用率和内存使用率. 有可能即使经过充分的调优工作后,CPU 仍不足以处理工作负载,在这种情况下,就需要进行 CPU 升级.与此类似,如果程序在经过调优后仍无法提供足够内存的环境中运行,那么必须增加内存容量. 如果性能问题由多个因素中的任何一个导致,那么必须查找多个领域以消除每个问题. 首先,确定限制系统的资源: CPU 内存 输入/输出 (I/O) 要执行此操作,请使用 vmstat 命令.vmstat 命令可生成一份详细说明这三个区域的活

Linux系统性能调优之性能分析

1.Linux性能分析的目的1)找出系统性能瓶颈(包括硬件瓶颈和软件瓶颈):2)提供性能优化的方案(升级硬件?改进系统系统结构?):3)达到合理的硬件和软件配置:4)使系统资源使用达到最大的平衡.(一般情况下系统良好运行的时候恰恰各项资源达到了一个平衡体,任何一项资源的过渡使用都会造成平衡体系破坏,从而造成系统负载极高或者响应迟缓.比如CPU过渡使用会造成大量进程等待CPU资源,系统响应变慢,等待会造成进程数增加,进程增加又会造成内存使用增加,内存耗尽又会造成虚拟内存使用,使用虚拟内存又会造成磁

Linux操作系统性能调优的方法

Linux操作系统性能调优的方法 2013-03-18 15:35 HonestQiao ChinaUnix 字号:T | T Linux是一套免费使用和自由传播的类Unix操作系统,Linux不同的发行版本和不同的内核对各项参数及设置均做了改动,从而使得系统能够获得更好的性能.本文分享了几种技巧对Linux操作系统进行性能的优化. AD:2014WOT全球软件技术峰会北京站 课程视频发布 按照传统,Linux不同的发行版本和不同的内核对各项参数及设置均做了改动,从而使得系统能够获得更好的性能.

Perf Event :Linux下的系统性能调优工具

Perf Event :Linux下的系统性能调优工具 2011-05-27 10:35 刘 明 IBMDW 字号:T | T Perf Event 是一款随 Linux 内核代码一同发布和维护的性能诊断工具,由内核社区维护和发展.Perf 不仅可以用于应用程序的性能统计分析,也可以应用于内核代码的性能统计和分析.得益于其优秀的体系结构设计,越来越多的新功能被加入 Perf,使其已经成为一个多功能的性能统计工具集 .本文将介绍 Perf 在应用程序开发上的应用. AD:2014WOT全球软件技术

Linux性能调优,从优化思路说起

Linux操作系统是一个开源产品,也是一个开源软件的实践和应用平台,在这个平台下有无数的开源软件支撑,我们常见的apache.tomcat.mysql.php等等,开源软件的最大理念是自由.开放,那么linux作为一个开源平台,最终要实现的是通过这些开源软件的支持,以最低廉的成本,达到应用最优的性能.因此,谈到性能问题,主要实现的是linux操作系统和应用程序的最佳结合. 一.性能问题综述 系统的性能是指操作系统完成任务的有效性.稳定性和响应速度.Linux系统管理员可能经常会遇到系统不稳定.响

61 &nbsp; Linux系统调优基础

01 Linux系统调优基础 #显示进行在哪个cpu上运行 [[email protected] ~]# ps axo psr,     2 ntpd   1 qpidd   3 pickup   3 sshd   0 bash   2 pscomm     #显示进行在哪个cpu上运行,并显示进程的pid  [[email protected] ~]# ps axo psr,comm,pid   2 ntpd             3775   1 qpidd            9998

LAMP 系统性能调优之内核调优措施

LAMP 系统性能调优之内核调优措施 2011-03-18 11:21 Sean A. Walberg 网络转载 字号:T | T 在对系统的 Apache.PHP 和 MySQL 组件进行调优之前,应该花一些时间确保底层 Linux 组件的运行正常.这点是非常重要的! AD:2014WOT全球软件技术峰会北京站 课程视频发布 LAMP LAMP的一些快速的内核调优措施 大多数 Linux 发布版都定义了适当的缓冲区和其他 Transmission Control Protocol(TCP)参数