linux-磁盘io情况、性能排查-操作命令解析

iostat

在这里插入图片描述

  • %user:CPU处在用户模式下的时间百分比。
  • %nice:CPU处在带NICE值的用户模式下的时间百分比。
  • %system:CPU处在系统模式下的时间百分比。
  • %iowait:CPU等待输入输出完成时间的百分比。
  • %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
  • %idle:CPU空闲时间百分比。

如果%iowait的值过高,表示硬盘存在I/O瓶颈
如果%idle值高,表示CPU较空闲
如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。
如果%idle值持续低于cpu核数,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。

iostat -d -x 1

在这里插入图片描述

  • iostat:这是命令本身,用于报告 CPU 统计信息和所有块设备的 I/O 统计信息。
  • -d:这个选项告诉 iostat 只显示设备(disk)统计信息,而不显示 CPU 使用情况的统计信息。
  • -x:这个选项使 iostat 显示扩展的设备统计信息。这些扩展信息包括每个设备的利用率、等待队列的平均大小、每次 I/O 操作的平均服务时间等,为系统管理员提供了更深入的 I/O 性能分析数据。
  • 1:这个数字指定了 iostat 命令的输出间隔(以秒为单位)。在这个例子中,iostat 将每秒输出一次统计信息。这意味着命令会持续运行,每秒刷新一次显示的数据,直到被手动中断(通常是通过按 Ctrl+C)。

既:每秒输出一次扩展的设备 I/O 统计信息,这对于监控和分析系统存储设备的性能非常有用。

rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目.即 delta(wmerge)/s
r/s: 每秒完成的读次数
w/s: 每秒完成的写次数
rkB/s: 每秒读数据量(kB为单位)
wkB/s: 每秒写数据量(kB为单位)
avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
avgqu-sz: 平均等待处理的IO请求队列长度
await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
svctm: 平均每次IO请求的处理时间(毫秒为单位)
%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率,即一秒中有百分之多少的时间用于 I/O
如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷

pidstat -d 1

  • pidstat:调用 pidstat 工具。
  • -d:这个选项告诉 pidstat 显示 I/O 统计信息。具体来说,它会显示每个进程的读(read)和写(write)操作的数量(以块为单位,通常是 512 字节的块)。
  • 1:这个数字指定了 pidstat 收集数据的间隔(秒)。在这个例子中,pidstat 将每秒收集并显示一次数据。

既:每秒收集和显示一次系统中每个进程的 I/O 统计信息,包括每个进程的读和写操作的块数。

上一篇:大数据-184 Elasticsearch - 原理剖析 - DocValues 机制原理 压缩与禁用


下一篇:Vue Router 如何配置 404 页面?