当前位置: 首页 > news >正文

Linux运维中常用的磁盘监控方式

在Linux运维中,磁盘监控是一项关键任务,因为它能帮助我们预防磁盘空间不足或性能问题导致的服务中断或数据丢失。让我们来看看有哪些常用的磁盘监控方法吧! 

1. 查看磁盘使用情况(`df`命令) 

`df`命令用于显示文件系统的挂载点、已用空间、可用空间等信息。它的输出简洁明了,是运维人员的得力工具!

示例:

df -h

输出示例:

Filesystem      Size  Used Avail Use% Mounted onudev            1.9G     0  1.9G   0% /devtmpfs           768M  8.6M  759M   2% /run/dev/sda1        50G   35G  15G  70% /tmpfs           3.8G   12K  3.8G   1% /dev/shm

- `-h`选项以易读的格式显示(如GB、MB)。

- `Use%`列显示磁盘使用率,接近100%时需关注!

2. 实时监控磁盘使用情况(`htop`) 

`htop`是一个交互式进程查看器,支持实时监控系统资源,包括磁盘使用情况。它界面友好,适合快速查看磁盘活动!

示例:

htop

在`htop`界面中,按下`F2`进入设置,勾选`Load average`和`Swap usage`,即可查看磁盘活动相关信息。

小贴士:

如果磁盘使用率长期居高不下,记得检查是否有异常进程!

3. 监控磁盘性能(`iostat`) 

`iostat`用于监控磁盘的性能指标,如读写次数、延迟、吞吐量等。它是分析磁盘性能瓶颈的利器!

示例:

iostat -x -d 1 5

解释:

- `-x`显示扩展统计信息。

- `-d`仅显示磁盘统计信息。

- `1`每秒更新一次。

- `5`更新5次后退出。

输出示例:​​​​​​​

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz  await  svctm  %utilsda1              0.00     0.00   0.00  0.00     0.00     0.00     0.00     0.00   0.00   0.00   0.00

- `await`:平均等待时间(毫秒),数值越低越好。

- `%util`:磁盘利用率,接近100%时可能有性能瓶颈!

4. 监控特定目录的磁盘使用情况(`du`命令) 

`du`命令用于显示目录或文件的磁盘使用情况,帮助定位磁盘占用较大的文件或目录。它是查找“大文件”的好帮手!

示例:

du -h --max-depth=1 /home

解释:

- `-h`以人类可读的格式显示。

- `--max-depth=1`仅显示指定目录的直接子目录或文件的大小。

输出示例:​​​​​​​

4.0K    /home/user18.0K    /home/user216M     /home/user3

小贴士:

如果发现某个目录占用了大量空间,记得及时清理不必要的文件!🗑️

5. 磁盘容量预测 

通过定期监控磁盘使用情况,可以预测磁盘何时会满。以下是一个简单的脚本示例:

示例脚本:​​​​​​​

#!/bin/bash# 获取根分区的使用情况ROOT_USAGE=$(df -h / | grep '/' | awk '{print $5}' | sed 's/%//g')# 计算剩余容量和使用率TOTAL=$(df -h / | grep '/' | awk '{print $2}' | sed 's/G//g')USED=$(df -h / | grep '/' | awk '{print $3}' | sed 's/G//g')AVAIL=$(df -h / | grep '/' | awk '{print $4}' | sed 's/G//g')# 预测剩余可用天数(假设每天增长100M)DAYS_LEFT=$((AVAIL * 1000 / 100))echo "根分区使用率: $ROOT_USAGE%"echo "剩余容量: $AVAIL GB,预计可用 $DAYS_LEFT 天。"

小贴士:

定期运行这个脚本,可以提前发现磁盘容量不足的问题!

6. 监控磁盘性能(`atop`) 

`atop`是一个交互式系统监控工具,实时查看磁盘、CPU、内存等资源的使用情况。它界面直观,适合实时监控。

示例:

atop

在`atop`界面中,按下`d`键查看磁盘活动的详细信息,包括读写次数、延迟等。

小贴士:

 如果磁盘延迟过高,可能是磁盘硬件有问题,记得及时检查!🔧

7. 自动化磁盘监控(`crontab` + 脚本) ⏰

使用`crontab`定期执行磁盘监控脚本,并将结果发送到指定邮箱。这样即使不在电脑前,也能及时收到预警信息!

示例:​​​​​​​

# 编辑crontab文件crontab -e# 添加以下内容(每天凌晨1点执行磁盘监控脚本)0 1 * * * /path/to/disk_monitor.sh

示例脚本:​​​​​​​

#!/bin/bash# 获取磁盘使用率超过80%的分区OVERUSED=$(df -h | awk '{if ($5 > 80) print $0}')# 如果有分区超过80%,发送邮件if [ ! -z "$OVERUSED" ]; then    echo "$OVERUSED" | mail -s "Disk Usage Warning" admin@example.comfi

小贴士:

确保邮件服务器已配置,否则预警信息可能无法发送!

总结 

       以上是Linux运维中常用的磁盘监控方式,涵盖了磁盘使用情况、性能监控、容量预测等多个方面。根据实际需求,可以选择合适的工具或组合工具进行监控,以确保系统的稳定运行!​​​​​​​

相关文章:

  • STL之vector容器
  • Java语言概述
  • 52、【OS】【Nuttx】【OSTest】setvbuf 测试
  • mysql索引及数据库引擎
  • MySQL 第一讲---基础篇 安装
  • 第7篇:RESTful API设计与安全防护
  • 赎金信(简单)
  • 第十六届蓝桥杯 2025 C/C++组 客流量上限
  • 【CTFer成长之路】XSS的魔力
  • 【Java IO流】File类基础详解
  • 瑞萨 EZ-CUBE2 调试器
  • OSPF路由协议配置
  • 变色龙-第16届蓝桥第5次STEMA测评Scratch真题第1题
  • Flowable7.x学习笔记(十七)审批我的待办
  • stm32教程:软件I2C通信协议 代码模板提供
  • day03_ 基本数据类型丶常量丶变量
  • UE自动索敌插件Target System Component
  • Linux_su命令
  • 三类思维坐标空间与时空序位信息处理架构
  • 6.DOS
  • 5月2日,全社会跨区域人员流动量完成29275.4万人次
  • 单阶段遭遇零封偶像奥沙利文,赵心童要让丁俊晖预言成真
  • 体坛联播|赵心童晋级世锦赛决赛,德布劳内一球制胜
  • 上海环球马术冠军赛开赛,一场体育与假日消费联动的狂欢
  • 华尔兹转岗与鲁比奥集权:特朗普政府人事震荡背后的深层危机
  • 山西太原一小区发生爆炸,太原:进一步深刻汲取教训