温馨提示×

Linux分区如何监控

小樊
49
2025-08-19 04:38:00
栏目: 智能运维

Linux分区监控可从分区状态、空间使用、I/O性能三方面入手,常用工具及方法如下:

一、分区状态与空间使用监控

  • df:查看分区总容量、已用空间、使用率等,-h选项以人类可读格式显示,-T显示文件系统类型。
    df -hT  
    
  • du:统计目录/文件占用空间,-sh可汇总指定目录总大小,-c显示总计。
    du -sh /home  
    
  • lsblk:以树状结构展示分区层级、大小、挂载点及UUID,适合快速定位分区。
    lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT  
    
  • parted/fdisk:查看分区表详情(如GPT/MBR),parted支持大容量硬盘和脚本化操作。
    sudo parted /dev/sda print  
    

二、I/O性能监控

  • iostat:监控磁盘读写速率、I/O请求队列等,-x显示扩展统计信息,-d仅显示磁盘数据。
    iostat -x 1 5  # 每秒刷新1次,共5次  
    
  • iotop:实时显示进程级磁盘I/O占用,按q退出。
    sudo iotop  
    
  • vmstat:查看系统整体I/O情况,bi(块输入)、bo(块输出)字段反映磁盘活动。
    vmstat 1 5  
    

三、自动化与高级监控

  • 脚本告警:结合dfcron定时任务,当使用率超过阈值(如80%)时发送邮件。
    # 示例脚本(保存为check_disk.sh)  
    THRESHOLD=80  
    for PART in $(df -hT | awk 'NR>1 {print $1}'); do  
      USED=$(df -hT $PART | awk '/^.*%/{print $5}' | sed 's/%//')  
      if [ $USED -ge $THRESHOLD ]; then  
        echo "WARNING: $PART is ${USED}% used!" | mail -s "Disk Alert" admin@example.com  
      fi  
    done  
    
  • 可视化工具:使用Prometheus+Grafana搭建监控系统,通过插件采集分区使用率和I/O数据,生成实时图表。

四、工具选择建议

  • 快速查看df -hT(空间)、lsblk(分区结构)、iotop(实时I/O)。
  • 深度分析iostat -x(I/O细节)、smartctl -a /dev/sda(硬盘健康状态)。
  • 自动化运维cron+脚本(定期告警)、Prometheus(长期趋势监控)。

以上工具均来自Linux原生支持或主流开源项目,可根据实际需求组合使用。

0