Centos7查看磁盘和CUP统计信息iostat命令
Centos7内存高|查看占用内存命令
docker实战(一):centos7 yum安装docker
docker实战(二):基础命令篇
docker实战(三):docker网络模式(超详细)
docker实战(四):docker架构原理
docker实战(五):docker镜像及仓库配置
docker实战(六):docker 网络及数据卷设置
docker实战(七):docker 性质及版本选择
认知升维: 道、法、术、器、势
iostat 主要用于输出磁盘IO 和 CPU的统计信息。
iostat属于sysstat软件包。可以用yum install sysstat
直接安装。
用法:iostat [选项] [<时间间隔>] [<次数>]
命令参数:
-c: 显示CPU使用情况
-d: 显示磁盘使用情况
-N: 显示磁盘阵列(LVM) 信息
-n: 显示NFS 使用情况
-k: 以 KB 为单位显示
-m: 以 M 为单位显示
-t: 报告每秒向终端读取和写入的字符数和CPU的信息
-V: 显示版本信息
-x: 显示详细信息
-p:[磁盘] 显示磁盘和分区的情况
如果%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次
yum install iotop -y
直接执行 iotop 命令
需要安装 :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命令主要用于输出磁盘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在等待。
[root@www ~]# man iostat
[root@www ~]# iostat -V
sysstat 版本 10.1.5
(C) Sebastien Godard (sysstat
[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
[root@www ~]# iostat -x -m sda 5
[root@www ~]# iostat -t
用法:iostat [ options ] [
[ ] ]