Centos7查看磁盘和CUP统计信息iostat命令

news/2024/7/5 2:11:39

Centos7查看磁盘和CUP统计信息iostat命令

Centos7内存高|查看占用内存命令

docker实战(一):centos7 yum安装docker

docker实战(二):基础命令篇

docker实战(三):docker网络模式(超详细)

docker实战(四):docker架构原理

docker实战(五):docker镜像及仓库配置

docker实战(六):docker 网络及数据卷设置

docker实战(七):docker 性质及版本选择

认知升维: 道、法、术、器、势


一: Centos7 查看磁盘i/o, 定位占用i/o读写高的进程 

  • iostat 主要用于输出磁盘IO 和 CPU的统计信息。

  • iostat属于sysstat软件包。可以用yum install sysstat 直接安装。


1、iostat 用法

用法:iostat [选项] [<时间间隔>] [<次数>]

 命令参数:
-c: 显示CPU使用情况
-d: 显示磁盘使用情况
-N: 显示磁盘阵列(LVM) 信息
-n: 显示NFS 使用情况
-k: 以 KB 为单位显示
-m: 以 M 为单位显示
-t: 报告每秒向终端读取和写入的字符数和CPU的信息
-V: 显示版本信息
-x: 显示详细信息
-p:[磁盘] 显示磁盘和分区的情况

2、先用iostat查看磁盘io 是否读写负载很高
用iostat -d -k -x 1 10, 查看TPS和吞吐量信息

如果%util接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈,一般%util大于70%,I/O压力就比较大,读取速度有较多的wait,然后再看其他的参数。
 


rrqm/s:每秒进行merge的读操作数目。即delta(rmerge)/s
wrqm/s:每秒进行merge的写操作数目。即delta(wmerge)/s
r/s:每秒完成的读I/O设备次数。即delta(rio)/s
w/s:每秒完成的写I/0设备次数。即delta(wio)/s
rsec/s:每秒读扇区数。即delta(rsect)/s
wsec/s:每秒写扇区数。即delta(wsect)/s
rKB/s:每秒读K字节数。是rsec/s的一半,因为每扇区大小为512字节

wKB/s:每秒写K字节数。是wsec/s的一半
avgrq-sz:平均每次设备I/O操作的数据大小(扇区)。即delta(rsect+wsect)/delta(rio+wio)
avgqu-sz:平均I/O队列长度。即delta(aveq)/s/1000(因为aveq的单位为毫秒)
await:平均每次设备I/O操作的等待时间(毫秒)。即delta(ruse+wuse)/delta(rio+wio)
svctm:平均每次设备I/O操作的服务时间(毫秒)。即delta(use)/delta(rio+wio)
%util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的

 


iostat -c 1 2
查看cpu状态
间隔1秒显示一次,总共显示2次


3、找出使用io高的进程的工具 iotop 

yum install iotop -y

直接执行 iotop 命令

 4、lsof查看端口占用情况

需要安装 :yum -y install lsof

[root@www ~]# lsof -i:3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  1183 mysql   33u  IPv6  24958      0t0  TCP *:mysql (LISTEN)
mysqld  1183 mysql   36u  IPv6  44440      0t0  TCP docker0:mysql->192.168.1.5:49900 (ESTABLISHED)
mysqld  1183 mysql   38u  IPv6  11204      0t0  TCP docker0:mysql->192.168.1.5:54593 (ESTABLISHED)
 


lsof -i 列出占用端口情况

lsof -i:80


二:   iostat命令简介

 iostat命令主要用于输出磁盘IO和CPU的统计信息。iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。iostat命令通过观察设备相对于其平均传输速率处于活动状态的时间来监控系统输入/输出设备负载。iostat命令生成可用于更改系统配置的报告,以更好地平衡物理磁盘之间的输入/输出负载。centos7默认未安装此命令,此命令包含在软件包sysstat中。
  如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
  如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待。

2.1:获取命令帮助

[root@www ~]# man iostat

2.2: 查看命令版本

[root@www ~]# iostat -V
sysstat 版本 10.1.5
(C) Sebastien Godard (sysstat <at> orange.fr)


2.3:显示所有设备负载情况

[root@www ~]# iostat
Linux 3.10.0-1160.71.1.el7.x86_64 (www.yhchange.com)     2023年08月20日     _x86_64_    (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.05    0.00    1.49    0.57    0.00   97.90

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda             441.08        65.00      1394.64     884122   18971022
scd0              0.00         0.00         0.00         44          0
 



2.4:间隔2秒查看:5次 

[root@www ~]#  iostat 2 5


2.5:间隔3秒显示一次磁盘信息 

[root@www ~]# iostat -d 3

2.6: 间隔5秒显示sda磁盘的详细信息 

[root@www ~]# iostat -x -m sda 5

 2.7:显示磁盘及其分区的状态信息

[root@www ~]# iostat -p

2.8: 报告每秒向终端读取和写入的字符数 

[root@www ~]# iostat -t


 

2.9:间隔3秒显示2次CPU信息 

[root@www ~]# iostat -c 3 2


三: 使用语法及参数说明 

3.1: 使用语法

 用法:iostat [ options ] [ <interval> [ <count> ] ]

3.2: 参数说明 


3.3: 输出项说明 

  • avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值。重点关注iowait值,表示CPU用于等待io请求的完成时间。
  • Device: 各磁盘设备的IO统计信息。

3.4:CPU属性值列说明


3.5:磁盘属性值列说明 















http://lihuaxi.xjx100.cn/news/1463750.html

相关文章

Vue--进度条

挺有意思的&#xff0c;大家可以玩一玩儿&#xff1a; 前端代码如下&#xff1a;可以直接运行的代码。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content&qu…

Eureka:集群环境配置

创建三个集群 导包 <!-- 导包--><dependencies><!-- Eureka -server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId><version>1.…

Oracle存储过程实现执行动态SQL

Oracle存储过程中执行动态SQL 最近在工作中使用到了存储过程&#xff0c;要用存储过程执行动态的SQL&#xff0c;于是便有了这篇文章。 思考 既然是动态的SQL&#xff0c;最好有个table用来存储这些动态SQL&#xff0c;Oracle中这么多数据类型该选择哪种呢&#xff1f;首先想…

Android11 中 LED 使用-RK3568

文章目录 前言原理图设备树驱动前言 现在我们来学习点亮LED 原理图 然后对应在核心板原理图上查找 Working_LEDEN_H_GPIO0_B7,如下图所示: 那么我们只要控制 GPIO0_B7 即可控制 led 的亮灭。 设备树 leds: leds {compatible = "gpio-leds";work_led: work {gpi…

【Linux系统编程项目】实现部分FTP功能

项目功能 服务器相关 1.获取服务器文件&#xff0c;get xxx 2.展示服务器有哪些文件 &#xff0c;ls 3.进入服务器文件夹 cd 4.上传文件到服务器 客户端相关 lls查看客户端本地文件 lcd 进入客户端xx文件夹 lpwd 查看客户端当前目录 项目代码 客户端代码&#xff08;代码…

Android内存泄露

在Android中&#xff0c;内存泄漏的现象十分常见&#xff1b;而内存泄漏导致的后果会使得应用crash 定义&#xff1a;Memory Leak 指程序在申请内存后&#xff0c;当该内存不需要再使用但却无法被释放&归还给程序得现象。 内存回收策略 步骤1&#xff1a;Application Fram…

如何在window下cmd窗口执行linux指令?

1.Git&#xff1a;https://git-scm.com/downloads(官网地址) 2.根据自己的实际路径,添加两个环境变量 3.重启电脑

【python基本数据类型的时间复杂度】

时间复杂度 python基本数据类型的时间复杂度 python基本数据类型的时间复杂度 参考网站https://wiki.python.org/moin/TimeComplexity