CPU及磁盘性能监测

红米2年前技术文章1055

一、简述

sysstat 包含了常用的 Linux 性能工具,用来监控和分析系统的性能。本次内容会用到这个包的两个命令 mpstat 和iostat。

  • mpstat 是一个常用的多核 CPU 性能分析工具,用来实时查看每个 CPU 的性能指标,以及所有 CPU 的平均指标。

  • iostat是一个常用的磁盘读写性能分析工具,用来查看磁盘读写以及I/O等性能指标

二、CPU性能—mpstat

1、安装sysstat

yum install -y sysstat       #安装mpstat命令软件

2、参数使用

-P           #{cpu  ALL}
internval    # 相邻两次采样的间隔时间
count        # 采样的次数,count只能和internval一起使用

3、输出结果参数解释

%usr  #用户所有使用的CPU百分比
%nice  #使用 nice 值的 CPU 的百分比。
%sys  #内核进程使用的 CPU 百分比。
%iowait  #等待进行 I/O 所使用的 CPU 时间百分比。
%irq  #表示用于处理系统中断的CPU百分比
%soft  #表示用于软件中断的CPU百分比
%steal  #虚拟机强制CPU等待的时间百分比
%guest  #虚拟机占用CPU时间的百分比
%gnice  #CPU运行niced guest虚拟机所花费的时间百分比
%idle  #CPU的空闲时间的百分比

4、应用结果image_bzRKzlBER_.png

解释:此页面可以看到,此服务器存在2个cpu,所有cpu的评价空闲率为86.80%。

三、磁盘性能—iostat

1、iostat参数使用

-d:仅显示磁盘统计信息
-h:使用NFS(Network File System网络文件系统)的输出报告,更加友好可读。需要使用-n参数开启NFS。
-k:以 kb 为单位显示,默认情况下,iostat的输出是以block作为计量单位,加上这个参数可以以kb作为计量单位显示。(该参数仅在linux内核版本2.4以后数据才是准确的)
-m:以 mb 为单位显示(该参数仅在linux内核版本2.4以后数据才是准确的)
-N:显示磁盘阵列(LVM) 信息。
-V:显示版本信息
-x:显示更详细的磁盘报告信息,默认只显示六列,加上该参数后会显示更详细的信息(该参数仅在linux内核版本2.4以后数据才是准确的)
-n:显示NFS(Network File System网络文件系统) 使用情况(该参数仅在linux内核版本2.6.17以后有效)

2、输出结果参数

tps           #该设备每秒的传输次数
kB_read/s     #每秒从设备读取的数据量
kB_wrtn/s     #每秒向设备写入的数据量
kB_read       #读取的总数据量
kB_wrtn       #写入的总数据量
avgqu-sz      #平均I/O队列长度,即IO等待个数。数值越低越好
await         #每一个IO请求的处理的平均时间(单位ms)
%util         #在统计时间内所有处理IO时间,除以总共统计时间

3、结果展示

a.每隔 2秒刷新显示详细信息,显示3次

image_m6opEy0tg0.png

b.吞吐量计算:rMB/s+wMB/s

c.IOPS计算:r/s+w/s

d.IO 瓶颈:如果%iowait的值过高,表示硬盘存在I/O瓶颈

四、磁盘性能—iotop

1、安装

yum -y install iotop

2、参数介绍

-o:只显示有io操作的进程
-b:批量显示,无交互,主要用作记录到文件。
-n NUM:显示NUM次,主要用于非交互式模式。
-d SEC:间隔SEC秒显示一次。
-p PID:监控的进程pid。
-u USER:监控的进程用户。
-P --processes  #只显示进程

3、结果参数介绍

Total DISK READ:        #从磁盘中读取的总速率
Total DISK WRITE:       #往磁盘里写入的总速率
Actual DISK READ:      #从磁盘中读取的实际速率
Actual DISK WRITE:     #往磁盘里写入的实际速率
TID:                    #线程ID,按p可转换成进程ID
PRIO:                  #优先级
USER:                  #线程所有者
DISK READ:              #从磁盘中读取的速率
DISK WRITE:             #往磁盘里写入的速率
SWAPIN:                 #swap交换百分比
IO>:                   #IO等待所占用的百分比

4、结果展示

a.查看wget进程的io情况

image_GI1cBxmm97.png

b. 查看所有进程的io情况

image_UzuC0tjZci.png



相关文章

Redis 运维规范_key 设计规范

Redis 运维规范_key 设计规范

一、key 设计规范1、设计合理的Key名称与长度Key名称:要见名知其意,方便快速定位问题及相关业务。key 名称要避免使用单双引号、转义字符等特殊符号。 key长度:在能完整描述业务的前提下尽量精...

Logstash迁移ES集群

一、背景介绍   logstash 支持从一个 ES 集群中读取数据然后写入到另一个 ES 集群,因此可以使用 logstash 进行数据迁移,使用 logstash 进行迁移前,需要注意以下几点:需...

Yarn生产环境核心参数

(1)ResourceManager相关配置调度器:yarn.resourcemanager.scheduler.class    默认是容量调度器处理调度器请求的线程数量:yarn.resource...

Zeppelin简介

1.    Zeppelin1.1.  Zeppelin是什么zeppelin是一个非常流行的开源数据探索分析平台。zeppelin集成了非...

Oozie web console is disabled 问题解决

Oozie web console is disabled 问题解决

一、问题一a、错误现象b、解决方案①、根据提示查看Oozie Quick Start 发现是缺少ExtJS 2.2库(必须是2.2版)下载ExtJS2.2下载地址:http://archive.clo...

MySQL运维实战之ProxySQL(9.8)SQL镜像

使用proxysql的镜像(mirror)功能,可以将SQL发送到一个额外的后端实例执行。还可以将发送到镜像的SQL进行改写,以测试修改后的SQL是否能正常执行。通过mirror_flagOut字段,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。