Linux 磁盘监控命令详解:df和iostat

在 Linux 系统中,dfiostat 是两款常用的磁盘监控工具。df 用于查看文件系统的磁盘空间使用情况,iostat 则用于监控磁盘 I/O 性能。


查看磁盘空间使用情况—df 命令

df(disk free)用于显示文件系统的总容量、已用空间、可用空间及挂载点等信息。

语法

df [选项] [文件或目录]

常用选项

选项 说明
-h 以人类可读方式显示(K、M、G 等单位)
-T 显示文件系统类型
-i 显示 inode 使用情况,而非块使用情况
-a 显示所有文件系统(包括虚拟、临时文件系统)
-x <类型> 排除指定类型的文件系统
--total 在最后一行显示总计信息

常用用法示例

  1. df:显示所有挂载文件系统的磁盘使用情况(默认以 1K 块为单位)。

    image-20230628095801574
  2. df -h:以易读格式显示所有挂载文件系统的磁盘使用情况。

    image-20230628100045325
  3. df -hT:同时显示文件系统类型。

    image-20230628100127347
  4. df -i:显示 inode 使用情况(inode 耗尽也会导致无法创建新文件)。

  5. df /home:显示指定目录所在文件系统的磁盘使用情况。


监控磁盘 I/O 性能—iostat 命令

iostat 用于报告中央处理器(CPU)统计信息和设备(磁盘)的 I/O 统计信息。

语法

iostat [选项] [时间间隔 [次数]]

常用选项

选项 说明
-c 仅显示 CPU 统计信息
-d 仅显示磁盘统计信息
-k 以 KB 为单位显示
-m 以 MB 为单位显示
-t 显示时间戳
-x 显示扩展统计信息(更详细)

常用用法示例

  1. 基本磁盘 I/O 统计

    iostat -d
    
    image-20230628093937566
    • 字段说明

      字段 含义
      Device 磁盘设备名
      tps 每秒 I/O 请求数(传输次数)
      kB_read/s 每秒读取的 KB 数
      kB_wrtn/s 每秒写入的 KB 数
      kB_read 从启动到现在读取的总 KB 数
      kB_wrtn 从启动到现在写入的总 KB 数
  2. 定时刷新I/O统计

    iostat -d 1 3
    
    image-20230628094042690
  3. CPU统计信息

    iostat -c
    
    image-20230628094313982
    • 字段说明:

      字段 含义
      %user 用户态 CPU 使用率(不含 nice 进程)
      %nice 低优先级用户态 CPU 使用率
      %system 内核态 CPU 使用率
      %iowait CPU 等待 I/O 完成的时间百分比
      %steal 虚拟化环境中被其他虚拟机偷走的时间
      %idle CPU 空闲时间百分比
  4. 扩展I/O统计(设备详情状态)

    iostat -x
    
    image-20230628094349557
    • 字段说明

      字段 含义
      rrqm/s 每秒合并的读请求数
      wrqm/s 每秒合并的写请求数
      r/s 每秒读请求次数
      w/s 每秒写请求次数
      rkB/s 每秒读数据量(KB)
      wkB/s 每秒写数据量(KB)
      avgrq-sz 平均每次 I/O 请求的大小(扇区数)
      avgqu-sz 平均 I/O 队列长度
      await 平均每次 I/O 请求的等待时间(毫秒)
      r_await 读请求平均等待时间(毫秒)
      w_await 写请求平均等待时间(毫秒)
      svctm 平均每次 I/O 请求的服务时间(毫秒)
      %util 设备繁忙度(100% 表示设备接近饱和)

小结

  • df 快速查看磁盘分区空间使用情况,帮助判断是否磁盘满。
  • iostat 深入分析磁盘 I/O 性能,定位 I/O 瓶颈(高 %util、高 await 等)。
  • 二者结合使用,可全面掌握磁盘健康状态。

如果需要进一步了解某个命令的细节,可以使用 man dfman iostat 查看完整手册。

posted @ 2023-06-28 10:13  克峰同学  阅读(309)  评论(0)    收藏  举报