linux命令---vmstat
来源:互联网 发布:树莓派 nginx 编辑:程序博客网 时间:2024/06/17 06:28
概述
vmstat命令: 是一个查看虚拟内存(Virtual Memory)使用状况的工具,用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。这些信息反映了系统的负载情况
vmstat
选项
字段说明
*注意:* 内存够用的时候,si/so这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。
系统调用导致上下文切换,每次调用系统函数,代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数
常见问题及处理
1、检查CPU是否满足应用场景:r经常大于逻辑核数的3倍,且id经常少于30,表示cpu的负荷很重,需要借助其他工具下钻程序占用CPU的情况。
2、检查内存是否满足应用场景:si,so长期不等于0,表示内存不足,需要借助其他工具下钻程序占用MEM的情况,如是JVM需要分析堆。如果si、so长期>0,系统性能回收影响,磁盘io和CPU资源会被耗尽;评估内存是否够用不能只看free,而是要结合这俩个值,si、so很小或者长期为0说明够用,否则内存不足
3、检查磁盘是否满足应用场景:查询块的默认块的大小,根据bi/bo计算 读写速度/s,对比磁盘的读写速度(使用的磁盘阵列和转速计算或者用io测试工具测试获得),若接近磁盘的读写速度,且队列或者CPU过高,表示io性能不好,需要考虑优化io或者升级磁盘设备。随机磁盘读写的时候,值越大,CPU在IO等待的时间也就越大。
4、上下文切换和中断,一般这两个指标分不开。context switch过高,会导致CPU像个搬运工,频繁在寄存器和运行队列直接奔波 ,更多的时间花在了线程切换,而不是真正工作的线程上。直接的消耗包括CPU寄存器需要保存和加载,系统调度器的代码需要执行。间接消耗在于多核cache之间的共享数据;测试上下文的耗时可以使用工具LMbench,总得来说这两个值越大,内核消耗CPU的时间越多。
5、空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us)系统则面临着CPU资源的短缺。
6、wa高:说明IO等待严重,可能是磁盘的大量的随机读写造成的,也有可能是磁盘的带宽出现瓶颈(块操作)
题外话(对常见问题4补充):
现在linux是大多基于抢占式,CPU给每个任务一定的服务时间,当时间片轮转的时候,需要把当前状态保存下来,同时加载下一个任务,这个过程叫做上下文切换。时间片轮转的方式,使得多个任务利用一个CPU执行成为可能,但是保存现场和加载现场,也带来了性能消耗。
对于抢占式操作系统而言引起上下文切换的原因, 大体有几种:
1)当前任务的时间片用完之后,系统CPU正常调度下一个任务;
2)当前任务碰到IO阻塞,调度线程将挂起此任务,继续下一个任务;
3)多个任务抢占锁资源,当前任务没有抢到,被调度器挂起,继续下一个任务;
4)用户代码挂起当前任务,让出CPU时间;
5)硬件中断
LMbench主要是带宽(读取缓存文件、内存拷贝、读写内存、管道等)和反应时间(上下文切换、网路、进程创建等)的评测工具。
LMbench如何测量进程切换的时间:首先是看任务处理的时间(通过一次任务处理,这个任务处理的时间被定义为token时间,不包括线程切换的)。然后多次执行,排除任务执行的时间,然后计算出CS的时间(如果有cache miss,则CS的时间也包括cache misses的时间)。
原文链接
欢迎拍砖~未完待续……
- linux vmstat命令详解
- linux命令之vmstat
- linux vmstat命令详解
- linux中vmstat命令
- Linux vmstat命令
- Linux vmstat 命令详解
- linux命令--vmstat
- Linux vmstat命令详解
- Linux vmstat命令详解
- Linux vmstat命令
- Linux vmstat命令详解
- Linux vmstat命令详解
- Linux vmstat 命令详解
- Linux vmstat命令详解
- Linux命令:vmstat
- Linux - vmstat 命令详解
- Linux vmstat命令详解
- Linux---vmstat命令
- SQLite高级操作
- 背景 尺寸 隐藏
- Unity3D学习记录——API实例化与销毁1
- hdu1846 Brave Game
- 【for循环】打印九九乘法表
- linux命令---vmstat
- 使用jquery.qrcode.js生成二维码
- SQL查询优化器初探
- 数据结构之平衡二叉树(红黑树)
- easyUI comboGrid设置Value和Text
- 概率密度函数 ××××× ××
- 对javabean的一些理解
- 联想小新V4000安装的win7系统主引导区被删除,利用U盘重装系统
- 【HDU1512】【左偏树】Monkey King 题解