vmstat命令

用法:vmstat 1 --->每个1s打印信息;

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存 交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的 CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数

作用:

  • r:表示运行队列,如果改值过大,CPU可能会比较忙,使用率高;
  • b:阻塞并等待IO的进程数
  • swpd虚拟内存使用情况
  • free空闲的内存
  • buff被用来作为高速缓存
  • si(从磁盘分页到内存的数量)、so(从内存分页到磁盘的数量)两列,表示内存交换频繁程度,如果数值长期很大,表示内存不够;
  • bi读磁盘
  • bo写磁盘

Linux内存管理机制

  • Linux有自己的内存管理机制,Linux会尽可能的使用内存来提升IO效率;
  • 如果系统的free不够用,达到触发机制后,系统会自动释放cache和buffer的内存供程序使用(cache和bugffer是由内核进行动态管理的)
  • 如果used很多,而cache和buffer所占比率很小,那说明可能内存不够用了。不能单看free的大小来判断。所以你可以简单理解为cache和buffer也是free的一部分。(可用memory=free memory+buggers+cached)
  • swan是在磁盘上开辟的虚拟内存,所以他的变化有可能导致与IO的交换也会增加;

内存不足的表现:

free memory急剧减少,回收buffer和cache也无济于事,大量使用交换分区(swpd),读写磁盘数量(IO)增多,大量CPU时间用于等待IO(wa)。

   建议:memory测试期间保证内存充足,可用内存不少于20%;

好的状态:s0 si趋于0

IO的瓶颈:

IO的瓶颈是现在系统常见的问题,还没有得到良好的解决方案,而且发展也不如CPU和MEM快

好:  iowait % < 20%

一般: iowait % = 35%

糟糕:iowait  % >=50%

以上数值仅供参考

CPU>wa 过大(参考值,超过20);

system>bi&bo过大(参考值,超过2000)

命令使用场景:

  vmstat监控如果US很高,将近100%,就需要使用top命名来看是哪个进程导致,然后在分析进程;

sy很高,可以尝试strace来看系统内核调用情况;

如果io异常,可以尝试使用iostat来看看

iostat(简单了解)

   单独执行iostat,显示的结果为从系统开机到当前执行时刻的统计信息;

avg-cpu:总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值;

Device:各磁盘失败的IO统计信息

tps:  每秒IO次数

kB_read/s:每秒从失败(drive expressed)读取的数据量

kB_wrtn/s:每秒向失败(drive expressed)写入的数据量

kB_read:读取的总数据量

kB_wrtn: 写入的总数据量

iostat -k 5 2

共执行2次,间隔5秒;和 iostat一样(iostat持续打印)

iostat -x 显示更加详细信息 【重点】

rrqm/s:每秒这个设备相关的读取请求有多少被合并(请求相同Block时,请求合并)

wrqm/s:每秒这个设备相关的写入请求有多少被合并;

r/s:每秒读取请求数(rio)

w/s:每秒写入请求数(wio)

resc/s:每秒写扇区数(wsect)

rkB/s:每秒读取的数据量,单位K字节;

avgqu-sz:平均I/O队列长度

await:平均每次设备I/O操作的等待时间(毫秒)

svctm:平均每次设备I/O操作的服务时间(毫秒)svctm越接近于await则说明等待时间少

%util:表示了设备繁忙程度,80%表示设备已经很忙了;

IO瓶颈的症状:

1、%util很高

2、await远大于svctm

3、avgqu-sz 比较大

Linux监控实战-2的更多相关文章

  1. 百度网络监控实战:NetRadar横空出世(上)

    原文:https://mp.weixin.qq.com/s/VBShicsqReDtureKAdEgDA 转自订阅号「AIOps智能运维」,已授权运维帮转发 作者简介:运小贝,百度高级研发工程师 负责 ...

  2. 监控实战Prometheus+Grafana

    这期的分享是监控实战,其实不想写这篇的,因为网上相关的文章也挺多的,但是出于光说不练都是假把式,而且也想告诉你:当帅气的普罗米修斯(Prometheus)遇到高颜值的格拉法纳(Grafana)究竟会擦 ...

  3. K8S(13)监控实战-部署prometheus

    k8s监控实战-部署prometheus 目录 k8s监控实战-部署prometheus 1 prometheus前言相关 1.1 Prometheus的特点 1.2 基本原理 1.2.1 原理说明 ...

  4. MySQL数据库性能优化与监控实战(阶段四)

    MySQL数据库性能优化与监控实战(阶段四) 作者 刘畅 时间 2020-10-20 目录 1 sys数据库 1 2 系统变量 1 3 性能优化 1 3.1 硬件层 1 3.2 系统层 1 3.3 软 ...

  5. Linux.NET实战手记—自己动手改泥鳅(上)

    各位读者大家好,不知各位读者有否阅读在下的前一个系列<Linux.NET 学习手记>,在前一个系列中,我们从Linux中Mono的编译安装开始,到Jexus服务器的介绍,以及如何在Linu ...

  6. Linux系统实战项目——sudo日志审计

    Linux系统实战项目——sudo日志审计   由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维.开发等各个人员技术水平.操作习惯都不相同,也会因一时失误造成误操作,从而 ...

  7. Docker 监控实战

    如今,越来越多的公司开始使用 Docker 了,现在来给大家看几组数据: 2 / 3 的公司在尝试了 Docker 后最终使用了它 也就是说 Docker 的转化率达到了 67%,而转化市场也控制在 ...

  8. 【不积跬步,无以致千里】五个常用的Linux监控脚本代码

    为大家提供五个常用Linux监控脚本(查看主机网卡流量.系统状况监控.监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告.监控CPU和内存的使用情况.全方位监控主机),有需要的朋友不妨看 ...

  9. Linux ---> 监控JVM工具

    Linux ---> 监控JVM工具shkingshking 发布时间: 2013/10/10 01:27 阅读: 2642 收藏: 26 点赞: 1 评论: 0 JDK内置工具使用 jps(J ...

随机推荐

  1. 数据存储之CoreData

    #import "ViewController.h" #import <CoreData/CoreData.h> #import "Person.h" ...

  2. 将DataTable导出到Excel

    /// <summary> /// 导出Excel /// </summary> /// <param name="dtData"></p ...

  3. linux命令:文件类型和扩展名

    在linux系统中,一切皆是文件.Linux文件类型常见的有:普通文件.目录文件.字符设备文件和块设备文件.数据接口文件,符号链接文件,数据传送文件等. 1. 普通文件 用 ls -lh 来查看某个文 ...

  4. CSS3阴影 box-shadow的使用和技巧总结

    text-shadow是给文本添加阴影效果,box-shadow是给元素块添加周边阴影效果.随着html5和CSS3的普及,这一特殊效果使用越来越普遍. 基本语法是{box-shadow:[inset ...

  5. 安装.cer证书并将证书从.cer格式转化为.pem格式

    ## 安装.cer证书并将证书从.cer格式转化为.pem格式 ### 安装.cer证书到本地 打开*运行*窗口 输入MMC.exe, 单击*确定* 在打开的控制台1的窗口中. 选择*文件*, 选择* ...

  6. hibernate.hbm2ddl.auto配置详解

    hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如下:<properties><property name="hibernate. ...

  7. iredmail安装脚本分析(一)---iRedmail.sh

    iredmail是一套以postfix为核心的整合邮件系统的安装脚本,可以达到快速部署邮件服务器的目的.为了让自己不遗忘shell的语法,所以闲来无事,学习一下他的代码. 我从官网下载他的最新版,解压 ...

  8. [翻译]为什么IIS应用程序池回收时间默认被设置为1740分钟?

    作者:斯科特 福赛斯/Scott Forsyth日期:2013/04/06地址:http://weblogs.asp.net/owscott/why-is-the-iis-default-app-po ...

  9. Chrome和IE中使用window.open函数

    做前端开发的人员经常回遇到使用windows.open这个函数来打开一个新的网页窗口,使用这个函数的时候有些需要注意的地方,在Chrome和IE下该函数还是有一些细节性的区别. 以下是我在项目中使用的 ...

  10. Linux学习之路—磁盘分区

    1.各硬件设备在Linux中的文件名 在Linux系统中,每个设备都被当做一个文件来对待,同时在Linux系统中,几乎所有的硬件设备文件都在/dev这个目录中. 设备 设备在Linux内的文件名 ID ...