debian分卷如何监控资源使用情况
导读:Debian 分卷资源监控实用指南 一 核心概念与范围 在 Linux/Debian 语境中,“分卷”通常指分区或LVM 逻辑卷,其资源监控主要覆盖三类指标: 容量使用:各挂载点的已用/可用空间与inode 使用率(是否“磁盘满”或“索...
Debian 分卷资源监控实用指南
一 核心概念与范围
- 在 Linux/Debian 语境中,“分卷”通常指分区或LVM 逻辑卷,其资源监控主要覆盖三类指标:
- 容量使用:各挂载点的已用/可用空间与inode 使用率(是否“磁盘满”或“索引节点耗尽”)。
- I/O 性能:分卷所在物理盘的读写速率、IOPS、队列、响应时延、设备利用率(是否“磁盘忙”)。
- 进程与目录维度:哪些进程在大量读写、哪个目录/文件占用空间增长最快。
二 快速上手命令
- 容量与 inode
- 查看各挂载点容量与文件系统类型:
df -hT - 仅看 inode:
df -i
- 查看各挂载点容量与文件系统类型:
- 目录占用定位
- 汇总某目录大小:
du -sh /var/log - 交互式分析大目录:
ncdu /var(需安装:sudo apt install ncdu)
- 汇总某目录大小:
- 块设备与分区拓扑
- 查看设备/分区/挂载点关系:
lsblk - 查看分区表/类型:
sudo fdisk -l或sudo parted -l
- 查看设备/分区/挂载点关系:
- 实时资源总览
- 进程/内存/CPU:
top或htop(sudo apt install htop) - 内存概览:
free -h - 系统综合:
vmstat 1(关注wa列,I/O 等待)
以上命令覆盖分卷容量、inode、目录占用与基础性能观测,适合日常巡检与问题定位。
- 进程/内存/CPU:
三 深入 I O 与进程级监控
- 安装性能工具集:
sudo apt install sysstat iotop dstat - 设备级 I/O(按物理盘,非按挂载点)
- 扩展统计每秒刷新:
iostat -x 1 - 关键字段:%util(设备利用率,接近 100% 表示磁盘饱和)、await(平均 I/O 响应时间)、r/s/w/s(每秒读写次数)、rkB/s/wkB/s(吞吐)。
- 扩展统计每秒刷新:
- 系统级 I/O 与等待
vmstat 1:关注 wa(I/O 等待占比)、bi/bo(块设备读写)。
- 进程级 I/O 排行
sudo iotop:实时查看每个进程的读写速率与命令。
- 多指标实时对比
dstat -d --disk-util:同时观察多块盘的利用率与吞吐。
- 历史与内核原始统计
sar -b 1 5(I/O 传输速率)、sar -x 1 5(设备级详细统计)cat /proc/diskstats:内核级块设备原始计数(适合脚本化分析)
以上工具可定位“哪个盘/哪个进程”导致分卷变慢或满载,是容量之外最关键的性能观测手段。
四 自动化巡检与告警
- 轻量脚本示例(按挂载点阈值告警)
- 保存为
check_mount.sh并赋权:chmod +x check_mount.sh - 用法:
./check_mount.sh /dev/mapper/vg0-root 85 95 - 说明:阈值 85% 警告、95% 严重;适配 LVM 与常规分区。
- 脚本内容:
#!/usr/bin/env bash set -euo pipefail if [ $# -ne 3 ]; then echo "Usage: $0 < mount_point_or_device> < warn%> < crit%> " exit 3 fi mp="$1"; warn="$2"; crit="$3" # 兼容设备路径与挂载点 if [[ -b "$mp" ]]; then used=$(df -P "$mp" | awk 'NR==2{ gsub(/%/,"",$5); print $5} ') else used=$(df -P "$mp" | awk 'NR==2{ gsub(/%/,"",$5); print $5} ') fi if [ "$used" -ge "$crit" ]; then echo "CRITICAL: $mp usage ${ used} % (threshold ${ crit} %)" exit 2 elif [ "$used" -ge "$warn" ]; then echo "WARNING: $mp usage ${ used} % (threshold ${ warn} %)" exit 1 else echo "OK: $mp usage ${ used} %" exit 0 fi
- 保存为
- 定时巡检与落盘
- cron(每分钟记录一次 df):
* * * * * root df -h > > /var/log/df.log 2> & 1 - systemd Timer(更现代,便于日志与依赖管理)
- 创建服务:
/etc/systemd/system/disk-check.service[Unit] Description=Disk usage check [Service] Type=oneshot ExecStart=/usr/local/bin/check_mount.sh / 85 95 - 创建定时器:
/etc/systemd/system/disk-check.timer[Unit] Description=Run disk check every 5 minutes [Timer] OnCalendar=*:0/5 AccuracySec=1min Persistent=true [Install] WantedBy=timers.target - 启用:
sudo systemctl daemon-reload & & sudo systemctl enable --now disk-check.timer
- 创建服务:
- cron(每分钟记录一次 df):
- 可视化与集中监控
- 轻量实时:Netdata(
bash < (curl -Ss https://my-netdata.io/kickstart.sh),访问 http://服务器IP:19999) - 传统平台:Munin(
sudo apt install munin munin-node)、Zabbix、Prometheus + Grafana
以上方案覆盖从“单机脚本告警”到“集中可视化监控”的不同成熟度路径,可按规模选择。
- 轻量实时:Netdata(
五 针对 LVM 与物理盘的实用建议
- 先确认分卷与物理盘映射:
lsblk查看 LVM 逻辑卷 → 卷组 → 物理卷 的层级与挂载点,再用iostat -x 1观察对应物理盘(如 /dev/sdX)的 %util/await,避免只看挂载点而误判瓶颈位置。 - 容量与 inode 双监控:
df -h与df -i同时巡检,很多“磁盘满”实际是 inode 耗尽。 - 目录增长定位:优先用
ncdu快速找出大目录/大文件,再决定清理或扩容策略。 - 健康与预警:对物理盘做 S.M.A.R.T. 健康检测(
sudo apt install smartmontools;sudo smartctl -a /dev/sda),与容量/I-O 告警配合,降低突发故障风险。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: debian分卷如何监控资源使用情况
本文地址: https://pptw.com/jishu/753190.html
