系统性能指标

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. IT从业人员关注哪些问题

    技术人员关注的问题非常多,但常见的至少有以下6种.特此整理,抓住核心问题,解决它. 一个人的精力和时间往往非常有限,能把核心问题都解决到位就是成功. 1.职业规划 大家从读小学开始,就是在为职业规划过 ...

  2. [CSS] Use CSS Counters to Create Pure CSS Dynamic Lists

    CSS counters let you create dynamic lists without JavaScript. In this lesson, we will create a multi ...

  3. nodejs+express4.0+mongodb安装方法 for Linux, Mac

    废话不多说 1:下载nodejs包 下载地址例如以下:http://www.nodejs.org/download/ 下载source code版本号须要解压后到其文件夹运行./configure,然 ...

  4. [Angular Unit Testing] Debug unit testing -- component rendering

    If sometime you want to log out the comonent html to see whether the html render correctly, you can ...

  5. UI组件之TextView及其子类(三)ToggleButton和Switch

    ToggleButton.Switch.CheckBox和RadioButton都是继承自android.widget.CompoundButton,意思是可选择的,因此它们的使用方法都非常类似. C ...

  6. 解密Arm中国:全球最具影响力的芯片公司中国布局浮出水面

    经济观察报 记者 陈伊凡 沈怡然 李华清 对于Arm与中国合资公司事宜,5月4日下午,Arm授权的代表邮件回复<经济观察报>称:“合资公司目前刚开始运营”,“我们的重点是让这个新的合资公司 ...

  7. JavaScript、Ajax与jQuery的关系 分类: C1_HTML/JS/JQUERY 2014-07-31 10:15 3388人阅读 评论(0) 收藏

    简单总结: 1.JS是一门前端语言. 2.Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个框架,它对JS进行了封装 ...

  8. 学习Numpy基础操作

    # coding:utf-8 import numpy as np from numpy.linalg import * def day1(): ''' ndarray :return: ''' ls ...

  9. VC++ 訪问数据库实例具体解释图解

    一 ADO 方式訪问 Access 新建一个对话框project,加入控件,如图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2 ...

  10. [React] Use React.cloneElement to Extend Functionality of Children Components

    We can utilize React.cloneElement in order to create new components with extended data or functional ...