售前咨询400-838-0503

Linux服务器如何查看磁盘空间?

发布:2025-04-14 20:55

Linux服务器磁盘空间查看终极指南:8种高效方法解析

作为Linux系统管理员,磁盘空间管理是日常运维中的基础必修课。本文将深入讲解8种专业级的磁盘空间查看方法,包含实际案例分析和操作建议,帮助您快速定位存储问题。

一、基础命令篇

1. df命令 - 磁盘空间概览

最基础的df -h命令显示所有挂载点的使用情况:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G  5.2G   14G  28% /
tmpfs           1.9G     0  1.9G   0% /dev/shm

专业提示: 添加-T参数可显示文件系统类型,-i显示inode使用情况。

2. du命令 - 目录深度分析

du -sh *可统计当前目录下各子目录占用空间:

$ du -sh /var/*
12M    /var/cache
3.2G   /var/log

高级用法: du --max-depth=1 -h控制扫描深度,--exclude排除特定目录。

二、进阶工具篇

3. ncdu - 可视化分析工具

需要安装的交互式工具:

$ sudo apt install ncdu  # Debian/Ubuntu
$ ncdu /

特点:支持键盘导航、删除操作、导出扫描结果

4. baobab - 图形化工具

GNOME桌面环境自带的磁盘使用分析器,生成直观的饼图:

$ baobab

三、运维实战技巧

5. 查找大文件

$ find / -type f -size +100M -exec ls -lh {} \;

6. 日志文件清理

使用logrotate配置自动轮转:

$ sudo logrotate -f /etc/logrotate.conf

四、监控与告警方案

7. 设置磁盘阈值告警

创建监控脚本check_disk.sh:

#!/bin/bash
ALERT=90
df -H | grep -vE '^Filesystem|tmpfs' | awk '{ print $5 " " $1 }' | while read output;
do
    usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1)
    partition=$(echo $output | awk '{ print $2 }')
    if [ $usep -ge $ALERT ]; then
        echo "空间告警: $partition 使用率 $usep%" | mail -s "磁盘警报" [email protected]
    fi
done

8. 使用Prometheus+Grafana监控

配置node_exporter采集磁盘指标,Grafana展示历史趋势图。

五、疑难问题解决

  • 现象: df显示磁盘已满但找不到大文件
  • 排查: 检查是否有进程占用已删除文件lsof | grep deleted
  • 解决方案: 重启相关进程或清空/tmp目录

最佳实践总结

  1. 日常使用df -h快速查看
  2. 空间不足时用ncdu深度分析
  3. 建立自动化监控机制
  4. 定期进行日志轮转和归档

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单