文档首页> 常见问题> 如何检查Linux系统的磁盘空间?

如何检查Linux系统的磁盘空间?

发布时间:2025-06-23 01:00       

Linux系统磁盘空间检查全方位指南:从基础命令到高级技巧

作为Linux系统管理员或开发者,定期检查磁盘空间使用情况是必不可少的日常工作。一个满载的磁盘可能导致系统崩溃、服务中断或数据丢失。本文将详细介绍8种实用的磁盘空间检查方法,帮助您全面掌握Linux存储管理。

一、基础命令篇

1. df命令 - 快速概览

最基本也最常用的命令是df -h,这个命令可以显示所有挂载点的磁盘使用情况:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   32G   15G  68% /
tmpfs           3.9G     0  3.9G   0% /dev/shm

-h参数表示"human-readable",以GB、MB为单位显示,而不是字节数。

2. du命令 - 深入分析

要查看特定目录的空间使用情况,可以使用du命令:

$ du -sh /var/log
1.2G    /var/log

常用组合:

  • du -sh * - 查看当前目录下所有文件和文件夹的大小
  • du -ah --max-depth=1 - 显示一级子目录的详细大小

二、进阶技巧篇

3. 查找大文件

使用find命令快速定位占用空间的大文件:

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

这个命令会查找系统中所有大于100MB的文件并显示详细信息。

4. 图形化工具

对于桌面用户,可以使用图形化工具更直观地查看:

  • baobab - GNOME磁盘使用分析器
  • kdirstat - KDE版的磁盘分析工具
  • ncdu - 终端下的交互式磁盘分析工具

三、自动化监控方案

5. 设置磁盘空间告警

可以创建简单的shell脚本定期检查并发送告警:

#!/bin/bash
THRESHOLD=90
CURRENT=$(df / | grep / | awk '{ print $5}' | sed 's/%//g')
if [ "$CURRENT" -gt "$THRESHOLD" ]; then
    echo "磁盘空间不足: ${CURRENT}%" | mail -s "磁盘告警" admin@example.com
fi

6. 使用监控系统

专业环境下建议配置完整的监控解决方案:

  • Zabbix
  • Prometheus + Grafana
  • Nagios

四、特殊情况处理

7. 处理已删除但仍占用空间的文件

当进程持有已删除的文件时,使用lsof查找并释放:

$ lsof | grep deleted
$ kill -9 [PID]

8. 日志轮转配置

合理配置logrotate防止日志文件无限增长:

/var/log/app.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

五、最佳实践建议

  1. 定期检查关键分区(/, /var, /home)
  2. 设置自动化监控和告警
  3. 为关键服务单独分区
  4. 建立磁盘清理流程
  5. 保留10-20%的可用空间

掌握这些磁盘空间管理技巧,您将能够有效预防和解决Linux系统中的存储问题,确保系统稳定运行。记住,预防胜于治疗,定期检查比紧急处理要省心得多。