Linux操作系统-命令-vmstat
叨叨两句
涉及监控服务器性能的命令,除了有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的更多相关文章
- Linux操作系统-命令-netstat
# 之前已经写过了3篇与"性能测试"有关系的Linux命令,它们分别是free.top.vmstat # 接下来还需要把另外2个命令也写下来:netstat和iostat 最近认真地读了1篇关于"定位 ...
- Linux 系统管理命令 - vmstat - 虚拟内存统计
命令详解 重要星级: ★★★★☆ 功能说明: vmstat 是 Virtual Memory Statistics ( 虚拟内存统计 ) 的缩写,利用 vmstat 命令可以对操作系统的内存信息.进程 ...
- Linux基础命令---vmstat显示虚拟内存状态
vmstat vmstat指令用来显示虚拟内存使用状态,同时也可以显示进程.cpu活动情况.vmstat报告有关进程.内存.分页.块IO.陷阱和CPU活动的信息.生成的第一份报告给出了自上次重新启动以 ...
- Linux操作系统-命令-top
当我们在执行性能测试的时候,需要关注 业务性能指标(业务监控) 吞吐量(TPS) 响应时间 平均响应时间 50%用户响应时间 90%用户响应时间 标准差 # TPS标准差越小,说明波动越小,系统越稳定 ...
- Linux操作系统-命令-aptitude install unzip
如果linux系统没有自带unzip,请执行aptitude install unzip以安装. 使用到这条Linux命令的场景是: 当我把Jmeter的压缩包(xxx.zip)拷贝到远程的Linux ...
- Linux操作系统-命令-free
在看过网友写的一篇名为<Buffer和Cache的区别>http://zhumeng8337797.blog.163.com/blog/static/1007689142011102447 ...
- Linux操作系统上要慎用的6个命令及防范方法
Linux操作系统上要慎用的6个命令及防范方法 基于Linux平台工作的童鞋都知道Linux命令行使用起来非常高效和快捷,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候(别笑,别以为自己真的 ...
- Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)
Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统( ...
- linux操作系统中的netstat命令查看端口状态的使用和window操作系统查看端口号
1:linux操作系统 netstat 命令用于显示各种网络相关信息,即网络状态.而我主要使用netstat查看端口号是否启动: 参数详情: 1 -a (all)显示所有选项,默认不显示LISTEN相 ...
随机推荐
- maven配置本地仓库(从本地仓库下载jar包到.m2仓库)
Windows-->preference 把你的settings.xml存到一个地方maven指向你的settings.xmlsettings.xml里的地址是你们 ...
- PostgreSQL 使用 PreparedStatement 导致查询慢的分析
实验环境: DB is PostgreSQL version 8.2.15 JDK1.8 测试一 使用JDBC查询一个SQL: public static void test1(String url, ...
- java 中的重载与重写 抽象类与接口的区别
. 重载与重写的区别: 重载(overload) | 重写(override) 1 方法的名称相同,参数个数.类型不同 | 方法名称.参数列表.返回值类型与父类完全相同 2 ...
- es6知识总结--3
es6知识总结--3 es6对咱们es3,es5的数据类型进行了升级下边说新APIs! js数据类型有Number.String .oject.Boolean.Null.Undefined六种数据类型 ...
- 新篇章之我的java学习之路下
昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...
- MongoDB安全及身份认证
前面的话 本文将详细介绍MongoDB安全相关的内容 概述 MongoDB安全主要包括以下4个方面 1.物理隔离 系统不论设计的多么完善,在实施过程中,总会存在一些漏洞.如果能够把不安全的使用方与Mo ...
- table初始化
table, th , td { border: 1px solid grey; border-collapse: collapse; padding: 5px;}
- nopCommerce 3.9 大波浪系列 之 汉化-Roxy Fileman
官网:http://www.roxyfileman.com/ 中文包:zh.json 1.将zh.json包拷贝到Nop.Admin项目中"Content\Roxy_Fileman\lang ...
- Pivot Table系列之展开/折叠用法 (Expand/Collapse)
1.遇到的问题: PivotTable中本来已经展开的维度的Hierarchy(层次结构),在切换切片器的数据集时,层次结构就折叠在一起了:没有按照之前的方式展开显示. 2.在做成PivotTable ...
- Python序列化和反序列化
Python序列化和反序列化 通过将对象序列化可以将其存储在变量或者文件中,可以保存当时对象的状态,实现其生命周期的延长.并且需要时可以再次将这个对象读取出来.Python中有几个常用模块可实现这一功 ...