系统性能指标之 vmstat
系统性能指标
top
top - 19:59:04 up 219 days, 21:51, 2 users, load average: 0.06, 0.06, 0.05
Tasks: 84 total, 1 running, 83 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.5 us, 0.5 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3881692 total, 105116 free, 3338860 used, 437716 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 296856 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9855 root 20 0 3967344 1.345g 6772 S 0.7 36.3 388:51.05 java
11223 root 20 0 3075500 461148 8136 S 0.7 11.9 2966:49 java
3172 root 20 0 236452 10524 1068 S 0.3 0.3 104:56.64 docker-containe
8588 root 20 0 0 0 0 S 0.3 0.0 2:18.06 kworker/1:1
11352 root 20 0 131564 10596 4516 S 0.3 0.3 62:17.97 AliYunDun
17578 root 20 0 3305304 354272 15904 S 0.3 9.1 18:40.22 java
全局信息
top - 19:59:04[当前系统时间],
days[系统已经运行了多长时间],
user[个用户当前登录],
load average: [系统负载]
Tasks: total[总进程数],
running[正在运行的进程数],
sleeping[睡眠的进程数],
stopped[停止的进程数],
zombie[冻结进程数],
CPU信息
Cpu(s):us [用户空间占用CPU百分比],
sy[内核空间占用CPU百分比],
ni[用户进程空间内改变过优先级的进程占用CPU百分比],
id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
st[如果是虚拟机运行的话,从其他虚拟机'偷走的'CPU占比],
内存信息
Mem: total[物理内存总量],
used[使用的物理内存总量],
free[空闲内存总量],
buffers[用作内核缓存的内存量]
Swap: total[交换区总量],
used[使用的交换区总量],
free[空闲交换区总量],
cached[缓冲的交换区总量],
vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 974128 5147112 135412 1368628 0 1 5 31 3 4 5 2 93 0 0
7 1 974128 5147608 135424 1368616 0 0 0 48 12001 18118 39 15 46 0 0
2 0 974128 5147732 135436 1368636 0 0 0 80 11149 17957 45 14 41 0 0
procs
r这一列显示了多少进程正在等待CPU。
b显示多少进程正在不可中断的休眠(通常意味着他们在等待I/O,例如磁盘、网络、用户输入等待)。
memory
swpd列显示多少块被换出到了磁盘(页面交换)。
free列显示多少块是空闲的(未被使用)。
buff列显示多少块正在被用作缓冲。
cache列显示多少块正在被用作操作系统的缓存。
swap
si列显示每秒有多少块正在从磁盘被换入。
so列显示每秒有多少块正在换出道磁盘。
比swapd要重要。
io
bi:有多少块从块设备读取。
bo:有多少块从块设备写出。
system
in:每秒被中断的次数。
cs:上下文切换的次数,超过10万次的话需要注意。
cpu
us:执行用户代码(非内核)占用CPU的比例。
sy:执行系统代码(内核)占用CPU的比例,超过20的话需要注意。
id:空闲时间占用CPU的比例。
wt:等待时间占用CPU的比例。
st:从虚拟机偷走的CPU的比例。
iostat
iostat -dx 5
Linux 3.10.0-693.2.2.el7.x86_64 (iZm5e2cjbccf14pah8d9dgZ) 06/11/2018 x86_64 (2 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 0.19 0.01 0.48 0.12 3.35 14.30 0.00 6.02 9.88 5.97 0.33 0.02
rrqm/s wrqm/s
每秒合并的读和写请求。"合并的"意味着操作系统从队列中拿出多个逻辑请求合并为一个请求到实际磁盘。
r/s 和 w/s
每秒发送到设备的读和写请求。
rKb/s 和 wKb/s
每秒读和写的千字节数。
avgrq-sz
请求的扇区数
avgqu-sz
在设备队列中等待的请求数。
await/r_await/w_await
磁盘读写/读/写排队上花费的毫秒数。
svctm
服务请求花费的毫秒数,不包括排队时间。
%util
磁盘I/O使用率。
计算设备服务的并发请求数:concurrency = (r/s + w/s) * (svctm/1000)
几个通用判断经验
1.vmstat 中cs-上下文的切换,当每秒不超过100 000次时,一般不需要担心。
2.系统态CPU使用率高意味着共享资源有竞争或者I/O设备之间有大量的交互。
3.如果在很长的一段时间里,运行队列的长度一直都超过虚拟机处理器个数的1倍,就需要关注,只是暂时还不一定需要立刻采取行动,如果在很长一段时间里,运行队列的长度达到虚拟机处理机个数的3-4倍,则需要立刻采取行动。
系统性能指标之 vmstat的更多相关文章
- 2017-5-19&5-23/系统性能指标
1. 系统性能指标包括哪些? 业务指标.资源指标.中间件指标.数据库指标.前端指标.稳定性指标.批量处理指标.可扩展性指标.可靠性指标. 1)业务指标:主要包括并发用户数.响应时间.处理能力. 指标 ...
- Java生鲜电商平台-电商系统性能指标
Java生鲜电商平台-电商系统性能指标 1.响应时间和吞吐量 根据应用程序的响应时间可以知道程序完成传输数据所用的时间.也可以从HTTP请求级别,或者成为数据库级别来看.对那些缓慢的查询你需要做一些优 ...
- Linux运维之系统性能瓶颈工具vmstat分析
vmstat是一个很好用的检测系统性能工具,没有过多的参数,直接一个vmstat命令即可,不过我们一般加上-w表示宽格式输出.然后再附加上侦测时间即可 例如: vmstat 表示每3秒检测一次并输出系 ...
- shell脚本监控Linux系统性能指标
2016-11-04 22:41 原作者不详 分类: Linux(7) 在服务器运维过程中,经常需要对服务器的各种资源进行监控, 例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出 ...
- linux 系统性能指标
一.查看CPU使用情况 cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入wait. 平均负载(loadaverage)是指某段时 ...
- Linux centos7 日常运维——使用w查看系统负载、vmstat命令、top命令、sar命令、nload命令
一.使用w查看系统负载 w .uptime查看系统负载,0.00表示1分钟之内负载为0 cat /proc/cpuinfo查看cpu核数 二.vmstat命令,查看进程.cpu.memory.交换. ...
- [Linux 维护]收集centos系统性能指标
#!/bin/bash # awk 'END{print}' get the last row iplist=$(cat ~/fanr/shell/Weekly/ip.list) for _IP in ...
- linux 系统性能指标采样脚本
以下脚本写于redmine性能排查时,用于定位系统性能瓶颈的采样,源地址为~/performanceLog/collectLog.sh中,计划放入github的代码片段库中. 注: 如果mysql的地 ...
- Go之获取系统性能指标 - goPsutil
简介 psutil是一个跨平台进程和系统监控的Python库,而gopsutil是其Go语言版本的实现. Go语言部署简单.性能好的特点非常适合做一些诸如采集系统信息和监控的服务,本文介绍的gopsu ...
随机推荐
- 14、编写一个通用的Makefile
编译test_Makefile的方法:a. gcc -o test a.c b.c对于a.c: 预处理.编译(C文件转换成汇编).汇编(汇编转换成机器码)对于b.c:预处理.编译.汇编最后链接优点:命 ...
- Understanding Cubert Concepts(一)Partitioned Blocks
Understanding Cubert Concepts(一)Partitioned Blocks Cubert Concepts 对于Cubert,我们要理解其核心的一些概念,比方BLOCK.这些 ...
- layui是什么
layui是什么 一.总结 一句话总结:初步看起来比amazeui好看一点点.移动端显示看起来效果真心不错.还有即时聊天那个组件下载,感觉真心不错,可以多去看看. 二.Layui 1.简介 经典模块化 ...
- 学习jquery.pagewalkthroung.js插件记录点
1.53行:options = $.extend(true, {}, $.fn.pagewalkthrough.defaults, options); $.extend的作用是把第二个对象合并到第一个 ...
- tp5 thinkphp5 index.php隐藏 iis 重写 伪静态
面临的问题如下: 网上找了个源码,tp5的,公司服务器是iis,源码是隐藏index.php使用了路由,iis默认去找那个路径的文件了,找不到,所以报错了 如果没有iis没有安装"url重写 ...
- HTML标签的权重
原文 简书原文:https://www.jianshu.com/p/c86d540aec40 大纲 1.HTML权重标签 2.常见的权重标签 3.常见的权重标签的使用 1.HTML权重标签 SEOer ...
- 使用纯CSS3实现一个3D旋转的书本
有一些前沿的电商站点已经開始使用3D模型来展示商品并支持在线定制,而当中图书的展示是最为简单的一种, 无需复杂的建模过程,使用图片和CSS3的一些变换就可以实现更好的展示效果,简洁而有用. 书本的3D ...
- ios开发核心动画五:图标抖动效果--CAKeyframeAnimation
#import "ViewController.h" #define angle2Rad(angle) ((angle) / 180.0 * M_PI) @interface Vi ...
- Lucene学习总结之六:Lucene打分公式的数学推导 2014-06-25 14:20 384人阅读 评论(0) 收藏
在进行Lucene的搜索过程解析之前,有必要单独的一张把Lucene score公式的推导,各部分的意义阐述一下.因为Lucene的搜索过程,很重要的一个步骤就是逐步的计算各部分的分数. Lucene ...
- 在线生成 QR Code
http://tool.oschina.net/qr 在线生成二维码(QR码)-采用ZXing与d-project