系统性能指标

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的更多相关文章

  1. 2017-5-19&5-23/系统性能指标

    1. 系统性能指标包括哪些? 业务指标.资源指标.中间件指标.数据库指标.前端指标.稳定性指标.批量处理指标.可扩展性指标.可靠性指标. 1)业务指标:主要包括并发用户数.响应时间.处理能力. 指标 ...

  2. Java生鲜电商平台-电商系统性能指标

    Java生鲜电商平台-电商系统性能指标 1.响应时间和吞吐量 根据应用程序的响应时间可以知道程序完成传输数据所用的时间.也可以从HTTP请求级别,或者成为数据库级别来看.对那些缓慢的查询你需要做一些优 ...

  3. Linux运维之系统性能瓶颈工具vmstat分析

    vmstat是一个很好用的检测系统性能工具,没有过多的参数,直接一个vmstat命令即可,不过我们一般加上-w表示宽格式输出.然后再附加上侦测时间即可 例如: vmstat 表示每3秒检测一次并输出系 ...

  4. shell脚本监控Linux系统性能指标

    2016-11-04 22:41 原作者不详 分类: Linux(7) 在服务器运维过程中,经常需要对服务器的各种资源进行监控, 例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出 ...

  5. linux 系统性能指标

    一.查看CPU使用情况 cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入wait. 平均负载(loadaverage)是指某段时 ...

  6. Linux centos7 日常运维——使用w查看系统负载、vmstat命令、top命令、sar命令、nload命令

    一.使用w查看系统负载 w .uptime查看系统负载,0.00表示1分钟之内负载为0 cat  /proc/cpuinfo查看cpu核数 二.vmstat命令,查看进程.cpu.memory.交换. ...

  7. [Linux 维护]收集centos系统性能指标

    #!/bin/bash # awk 'END{print}' get the last row iplist=$(cat ~/fanr/shell/Weekly/ip.list) for _IP in ...

  8. linux 系统性能指标采样脚本

    以下脚本写于redmine性能排查时,用于定位系统性能瓶颈的采样,源地址为~/performanceLog/collectLog.sh中,计划放入github的代码片段库中. 注: 如果mysql的地 ...

  9. Go之获取系统性能指标 - goPsutil

    简介 psutil是一个跨平台进程和系统监控的Python库,而gopsutil是其Go语言版本的实现. Go语言部署简单.性能好的特点非常适合做一些诸如采集系统信息和监控的服务,本文介绍的gopsu ...

随机推荐

  1. Sql Server 删除所有表 脚本

    如果由于外键约束删除table失败,则先删除所有约束: --/第1步**********删除所有表的外键约束*************************/ DECLARE c1 cursor f ...

  2. java I/O库的设计模式

    在java语言 I/O库的设计中,使用了两个结构模式,即装饰模式和适配器模式.      在任何一种计算机语言中,输入/输出都是一个很重要的部分.与一般的计算机语言相比,java将输入/输出的功能和使 ...

  3. 【35.20%】【CF 706D】Vasiliy's Multiset

    time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standa ...

  4. jquery中的this与$(this)的区别总结(this:html元素)($(this):JQuery对象)

    jquery中的this与$(this)的区别总结(this:html元素)($(this):JQuery对象) 一.总结 1.this所指的是html 元素,有html的属性,可用 this.属性  ...

  5. Word2010中插入多级列表编号

    https://jingyan.baidu.com/article/3ea5148901919752e61bbafe.html Word2010中插入多级列表编号的三种方法 听语音 | 浏览:8719 ...

  6. 一个好汉一个帮:前端UI改造

    今天是周六,继续工作中. 只是,不是自己亲自参与搞代码,让一起好的同事帮我美化界面. 虽说前端,我也可以搞定, but,but呀,所有的工作都让我来搞,实在是太累太烦了. 前端,样式,目前做很多是模仿 ...

  7. Freemarker宏和函数的用法和区别

    1.宏(macro) 写法:<#macro page url page maskSize=5>    <#if (number == pages)> <li>< ...

  8. js如何实现动态显示表格数据(点奇数显示奇数单元格内容)

    js如何实现动态显示表格数据(点奇数显示奇数单元格内容) 一.总结 一句话总结: 1.动态指定表格中每个单元格的id,然后通过id可以获取每个单元格,然后对里面的innerHTML进行赋值. 2.弄了 ...

  9. ssh连接上腾讯云、华为云Linux服务器,一会就自动断开

    客户端向服务端发送心跳 依赖 ssh 客户端定时发送心跳,putty.SecureCRT.XShell 都有这个功能. Linux / Unix 下,编辑 ssh 配置文件: # vim /etc/s ...

  10. js进阶 10-5 jquery中的层级选择器有哪些

    js进阶 10-5 jquery中的层级选择器有哪些 一.总结 一句话总结: 1.jquery中的层级选择器有哪些? 四种,后代,子代,兄弟,相邻兄弟 2.如何区别jquery中的层级选择器? 记住这 ...