CPU及磁盘性能监测

红米2年前技术文章602

一、简述

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



相关文章

数据湖技术之iceberg(一)数据湖的概念

数据湖技术之iceberg(一)数据湖的概念

1  数据湖概念1.1.  什么是数据湖数据湖是一个集中式的存储库,允许你以任意规模存储多个来源、所有结构化和非结构化数据,可以按照原样存储数据,无需对数据进行结构化处理,并运行不...

PG体系结构(三)

PG体系结构(三)

四、物理结构4.1 软件安装目录bin             //二进制可执行文件 include         //头文件目录 lib             //动态库文件 share ...

strace

一、简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内...

rancher上kube-prometheus部署报错处理

rancher上kube-prometheus部署报错处理

问题描述rancher 上安装kube-prometheus,版本:8.3.9  ,Chart 仓库:bitnami 服务 pod: prometheus-kube-prometheus-promet...

k8s Krew 插件开发详解

前言:前面我们已经了解过krew插件的作用以及一些比较常用的插件,接下来我们讲一下如何开发krew插件。1、熟悉kubens 插件在开发krew插件之前,我们先通过kubens插件来熟悉krew,我们...

借助cwRsync工具迁移

借助cwRsync工具迁移

服务端安装服务端软件如下,会自动在系统内创建一个系统用户,用户名为:xxx  ,密码为:xxx查看系统用户,会发现自动创建了如下用户:修改配置文件:rsyncd.confuse chroot = fa...

发表评论    

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