叨叨两句

涉及监控服务器性能的命令,除了有vmstat之外,还有top、iostat、netstat。本文只是介绍一下这4个命令中的1个。剩下的3个命令可以参考以下网上的资料就差不多能会了。

推荐top命令的文档:http://os.51cto.com/art/201005/200652.htm

推荐netstat命令的文档:http://dywer.blog.51cto.com/678776/241917

推荐iostat命令的文档:http://www.cnblogs.com/peida/archive/2012/12/28/2837345.html

本文参考文档:http://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.html

概念

Virtual Memory,即:虚拟内存

在Linux内的1个用法

"vmstat 2"

这个命令的意思是:每2秒输出一次vmstat监控结果

输出列表内各字段的介绍

Procs区域的介绍

Procs(进程)

备注

r

运行队列中的进程数量

b

等待IO的进程数量

Memory区域的介绍

Memory(内存)

swpd

虚拟内存已使用的大小

free

空闲的物理内存的大小

buff

用作缓冲的内存大小

数据即将被写入磁盘

cache

用作缓存的内存大小

数据被从磁盘中读出来

Swap区域的介绍

swap

备注

si

每秒从磁盘读入到虚拟内存的大小

so

每秒从虚拟内存写入磁盘的大小

Io区域的介绍

io

备注

bi

每秒从块设备接收到的块数,即读块设备。

bi: Blocks received from a block device (blocks/s).

bo

每秒发送到块设备的块数,即写块设备。

bo: Blocks sent to a block device (blocks/s).

System区域的介绍

system(系统)

备注

in

每秒CPU的中断次数

包括时间中断

cs

CPU发生的每秒上下文切换次数

例如我们调用系统函数,就要进行上下文切换。线程的切换,也要进程上下文切换。这个值要越小越好,太大了,要考虑调低线程或者进程的数目。

例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。

上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。

Cpu区域的介绍

cpu

备注

us

用户CPU时间(用户使用率)

sy

系统CPU时间(系统使用率)

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

id

空闲 CPU时间

接近0则表示非常繁忙,

接近100表示很闲

wa

等待IO CPU时间

进程等待输入输出完成

Linux操作系统-命令-vmstat的更多相关文章

  1. Linux操作系统-命令-netstat

    # 之前已经写过了3篇与"性能测试"有关系的Linux命令,它们分别是free.top.vmstat # 接下来还需要把另外2个命令也写下来:netstat和iostat 最近认真地读了1篇关于"定位 ...

  2. Linux 系统管理命令 - vmstat - 虚拟内存统计

    命令详解 重要星级: ★★★★☆ 功能说明: vmstat 是 Virtual Memory Statistics ( 虚拟内存统计 ) 的缩写,利用 vmstat 命令可以对操作系统的内存信息.进程 ...

  3. Linux基础命令---vmstat显示虚拟内存状态

    vmstat vmstat指令用来显示虚拟内存使用状态,同时也可以显示进程.cpu活动情况.vmstat报告有关进程.内存.分页.块IO.陷阱和CPU活动的信息.生成的第一份报告给出了自上次重新启动以 ...

  4. Linux操作系统-命令-top

    当我们在执行性能测试的时候,需要关注 业务性能指标(业务监控) 吞吐量(TPS) 响应时间 平均响应时间 50%用户响应时间 90%用户响应时间 标准差 # TPS标准差越小,说明波动越小,系统越稳定 ...

  5. Linux操作系统-命令-aptitude install unzip

    如果linux系统没有自带unzip,请执行aptitude install unzip以安装. 使用到这条Linux命令的场景是: 当我把Jmeter的压缩包(xxx.zip)拷贝到远程的Linux ...

  6. Linux操作系统-命令-free

    在看过网友写的一篇名为<Buffer和Cache的区别>http://zhumeng8337797.blog.163.com/blog/static/1007689142011102447 ...

  7. Linux操作系统上要慎用的6个命令及防范方法

    Linux操作系统上要慎用的6个命令及防范方法 基于Linux平台工作的童鞋都知道Linux命令行使用起来非常高效和快捷,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候(别笑,别以为自己真的 ...

  8. Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)

    Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统( ...

  9. linux操作系统中的netstat命令查看端口状态的使用和window操作系统查看端口号

    1:linux操作系统 netstat 命令用于显示各种网络相关信息,即网络状态.而我主要使用netstat查看端口号是否启动: 参数详情: 1 -a (all)显示所有选项,默认不显示LISTEN相 ...

随机推荐

  1. 从栈不平衡问题 理解 calling convention

    最近在开发的过程中遇到了几个很诡异的问题,造成了栈不平衡从而导致程序崩溃. 经过几经排查发现是和调用规约(calling convention)相关的问题,特此分享出来. 首先,讲一下什么是调用规约. ...

  2. Watson Explorer Analytical Components 2

    Content Analytics architecture 1. Crawlers: extract content from the various enterprise data sources ...

  3. ORM的概念, ORM到底是什么

    一.ORM简介         对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.简单的说,ORM是通过使 ...

  4. voa 2015.4.29

    Nepal has declared three days of mourning for the victims of Saturday's 7.8 magnitude earthquake tha ...

  5. IE浏览器兼容

    IE6下面元素的宽高小于16PX时 会默认以16PX显示(最小宽高) 解决办法:设置元素overflow:hidden;   当文字全是字母或数字时会超容器对溢出隐藏的样式失效, 解决办法:设置下父级 ...

  6. JAVA中Socket的用法模拟服务端和客户端

    <看透springMvc源代码分析与实践>学习笔记 Socket分为ServerSocket和Socket两个大类 ServerSocket用于服务端,可以通过accept方法监听请求,监 ...

  7. C#.NET 中visual studio生成的.pdb/ .vshost.exe/ .vshost.exe.manifest文件是什么

      pdb文件: 英文全称:Program Database File 中文全称:程序数据库 文件 Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.可以对程序的调试配 ...

  8. Redis基本数据结构总结之SET、ZSET和HASH

    Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...

  9. 一个简单的时间轴demo

    一个时间轴的组成 使用一个块级元素包裹内容,并未块级元素设置边框 定义圆形或者菱形等元素标签,子元素设置偏移或者定位元素将图标定位到边框上 使其中的内容不溢出,自动换行,内容自动撑高 英文自动换行:w ...

  10. memcache 细究(一)

    memcached是高性能的分布式的内存缓存服务器.由国外社区网站LIVEJOURNAL的开发团队开发. 使用目的: 通过缓存数据库查询结果,减少数据库的访问次数,以提高动态web应用的速度.提高可扩 ...