Linux服务器怎么看剩余磁盘空间?,磁盘满了怎么办?

查看Linux服务器剩余磁盘空间,最直接的命令是df -h,它会以人类可读的格式显示每个分区的容量、已用、可用和挂载点。 但“怎么看”只是第一步,真正棘手的是磁盘满了之后怎么定位大文件、怎么安全清理,下面按排查顺序拆开讲。

linux服务器查看磁盘空间用什么命令最快

df -h 与 df -i 各司其职

df -h 是绝大多数场景下的首选。-h 参数自动把字节数换成 GB、MB 这种易读单位,执行后第一眼看到的是文件系统名字,然后是总容量、已用、可用、使用率百分比,最后是挂载点。

Linux服务器磁盘占满怎么解决?
加载中
Linux服务器磁盘占满怎么解决?

如果要看 inode 使用情况,用 df -i,很多时候磁盘空间还有,但 inode 耗尽,照样报“空间不足”,常见于小文件特别多的目录,比如邮件队列或缓存目录。

读懂一行输出

以 /dev/sda1 50G 30G 20G 60% / 为例,50G 是总容量,30G 已用,20G 可用,60% 是使用率,注意“可用”这一列有时会被保留块影响,所以不用纠结为什么总容量减已用不等于可用,保留块是文件系统为 root 用户预留的空间,默认占 5%,作用是防止日志或关键进程写满后连登录都做不到。

df 常用参数对比

参数 作用 使用场景
-h 人类可读单位 日常查看
-i 查看 inode 磁盘没满但报错时
-T 显示文件系统类型 排查分区格式
-x 排除指定类型 跳过 tmpfs 等虚拟文件
-P 输出格式不换行 脚本解析结果时

只看某个挂载点的剩余空间

用 df -h / 或者 df -h /var,如果服务器上挂载了数据盘,/data,那就用 df -h /data,这样输出只有一行,不会把 proc、sys 这些虚拟文件系统混进来,虚拟文件系统的数据在内存里,不算真正的磁盘占用,看了反而干扰判断。

为什么不用 fdisk 或 lsblk

fdisk -l 查看的是磁盘分区的物理大小,不代表分区已经使用的空间。lsblk 只能看到设备树和容量,看不到“剩余多少”,它们适合看磁盘有没有被正确识别,不适合回答“还剩多少空间”。

磁盘满了但不知道怎么排查?用 du 命令定位大文件

当你执行 df -h 发现某个分区 100% 了,下一步就是找具体是哪个文件占的空间。du 命令是核心工具。

du -sh 和 du -sh 的区别

  • du -sh 目录 显示这个目录的总大小。
  • Linux服务器怎么看剩余磁盘空间?,磁盘满了怎么办?

  • du -sh 显示当前目录下每个子项的大小,方便逐级比较。

在 /home 下执行 du -sh | sort -hr,如果看到某个用户目录异常大,就进去继续筛,用 du -ah 可以同时显示文件和目录,但输出太多,建议用顶层目录筛选。

一个常见的误区是用 ls -lh 查看文件大小,它只能看单层目录,不能递归统计,所以不适合定位占满磁盘的罪魁祸首。

查找单个大文件

find / -type f -size +500M -exec ls -lh {} ; 这条命令会搜索整个根目录下大于 500MB 的文件,注意开头限制范围,/var、/home,否则会扫很久,如果想扫得干净又不跨文件系统,加 -xdev 参数,只搜索当前挂载点内的文件。

高效排序法

把 du 和 sort 组合起来:

du -ah . 2>/dev/null | sort -rh | head -30

这条在几十 GB 的数据目录下也能快速列出最大的前 30 个文件,多数情况下,最大的那一个就可以解释磁盘为什么会满。

检查被删除但未释放空间的文件

有个经典情况:文件被 rm 了,但空间没释放,因为某个进程仍然持有它的文件描述符。lsof +L1 可以列出所有被删除但仍然打开的文件,看到后,重启对应进程即可,排查流程:df -h 发现满 –> lsof +L1 找到进程 –> 重启进程或服务,如果你发现 du -sh / 统计出来的总量比 df -h 显示的小,多半就是这个问题。

用 ncdu 做交互式分析

如果你不想一条条敲命令,可以安装 ncdu,它把目录大小做成可视化的界面,方向键进入目录,回车筛选,删除文件也方便,Debian/Ubuntu 用 apt install ncdu,CentOS 用 yum install ncdu,注意需要 root 权限才能读其他用户的目录。

linux服务器磁盘空间不足怎么清理最安全

磁盘使用率超过 80% 就该检查了,行业共识认为,长期高使用率会显著增加日志写满、临时文件爆掉的风险,清哪些,取决于你的业务形态。

先定位占用空间的大头

不要凭感觉删文件,用 du -sh / 2>/dev/null 查看根目录下每个一级子目录的大小,注意这里用了 2>/dev/null 把权限不足的报错丢掉了,如果某个目录特别大,再进去逐层排查。

快速找出占用磁盘最多的目录

命令套路是:

du -sh /var/log /var /tmp /home 2>/dev/null

或者配合 sort -h 按大小排序:

Linux服务器怎么看剩余磁盘空间?,磁盘满了怎么办?

du -sh /var/ 2>/dev/null | sort -hr | head -20

这样能一眼看到哪几个目录吃掉了大部分空间,常见元凶是日志、数据库备份、临时文件、容器镜像。

清理日志文件,别急着删

系统日志和 Nginx、Tomcat 这类应用日志增长很快,先看有没有自动轮转。rsyslog 配置在 /etc/logrotate.d/ 下,如果日志已经很大,可以手动清理,但别直接 rm 正在被进程打开的日志文件,否则空间不会真正释放。

正确做法是 truncate -s 0 /var/log/syslog,把文件清空而不是删除,这样进程依然持有文件描述符,空间立刻释放。

清理 journald 日志

journalctl --disk-usage 查看 systemd 日志占用,保留最近 7 天:

journalctl --vacuum-time=7d

这条命令不会影响正在运行的服务,如果系统日志量大,也可以直接限制 journal 文件总大小,改 /etc/systemd/journald.conf 里的 SystemMaxUse=100M,改完重启 systemd-journald。

包管理器缓存和临时文件

Debian/Ubuntu 系统用 apt-get clean 清理下载的 deb 包,CentOS/RHEL 用 yum clean all。/tmp 目录在重启后一般会被清,但长期跑着的服务器不会主动清,需要手动删除长时间没更新的临时文件,可以用 find /tmp -type f -atime +7 -delete,谨慎起见先看看有哪些文件。

删除无用的旧内核

内核升级后,旧内核包一直占着 /boot 空间,用 uname -r 查看当前内核版本,然后用 dpkg --list | grep linux-image(Debian 系)确认哪些旧内核可以卸载,CentOS 下用 package-cleanup --oldkernels --count=2,建议保留当前版本及上一个版本,防止新内核出问题无法回退。

Docker 相关的额外占用

如果你在服务器上跑容器,Docker 的镜像、容器层和日志随时会填满磁盘,先执行 docker system df 查看各类资源占用。

  • 删除悬空镜像:docker image prune
  • 清理无用的构建缓存:docker builder prune
  • 限制容器日志大小,在 /etc/docker/daemon.json 里加 "log-opts": {"max-size": "10m"},然后重启 Docker

数据库和备份文件单独处理

如果是 MySQL 或 PostgreSQL 的服务器,二进制日志和备份文件往往占空间大头,数据库二进制日志用 PURGE BINARY LOGS BEFORE NOW() 清理,具体方式取决于配置,备份文件建议压缩后按周期删除,不要全部堆在磁盘上,建议给备份单独挂一个大容量分区,避免和系统分区挤在一起。

监控磁盘空间,防止下次爆满

Linux服务器怎么看剩余磁盘空间?,磁盘满了怎么办?

不用等到满了才查,在服务器上放一个简单的脚本,用 cron 定时跑。

写一个磁盘告警脚本

思路是:检查每个分区的使用率,超过阈值(80%)就发送邮件或输出到日志,脚本内容大致如下:

#!/bin/bash
threshold=80
df -h | awk '{print $5, $6}' | grep -v 使用率 | while read usage partition; do
  percent=${usage%%}
  if [ "$percent" -gt "$threshold" ]; then
    echo "$partition 使用率 $percent%" >> /var/log/disk_warning.log
  fi
done

然后用 crontab 每小时执行一次:crontab -e 添加 0 /usr/local/bin/disk_check.sh,注意脚本加上执行权限,也可以把告警消息通过 mailx 发送,或者写入到监控平台。

定期对比,发现异常增长

除了按固定周期清理日志,还可以用 du 生成历史大小记录,对比两天的差值,找出异常增长的目录,如果你手头有监控工具如 Zabbix、Prometheus,直接在图上看到趋势,比手动跑命令更省心,对云服务器,多数厂商也会自带磁盘监控,但自建脚本对任何机器都通用。

linux服务器磁盘空间相关常见问题解答

问题 1:df 显示的磁盘空间和 du 统计的不一致怎么回事?

df 查看的是文件系统层面的块使用情况,du 统计的是文件内容占用的空间,被删除但未释放的文件、文件系统元数据、保留块等都会造成差异,先执行 lsof +L1 排查被删文件,如果没有结果,一般是保留块或预分配空间的原因,多数情况下不需要处理。

问题 2:查看 linux 服务器磁盘空间时,inode 满了是什么意思?

inode 是文件系统存储文件元信息的位置,每个文件或目录都需要一个 inode,当磁盘还剩余空间但 inode 用完时,新文件无法创建,用 df -i 查看使用率,常见于消息队列、临时文件、缓存目录,解决办法是清理超量的小文件,find /目录 -type f -size 0 -delete 删除空文件,再检查是否有程序频繁创建小文件。

问题 3:/dev/sda1 100% 满了,怎么找到具体是哪个文件?

先用 df -h 确认挂载点,再进入该目录使用 du -sh | sort -hr 逐层排查,如果嫌麻烦,直接用 find / -xdev -type f -size +1G -exec ls -lh {} ;,-xdev 限制只搜索当前文件系统,速度更快,找到文件后根据文件类型决定是否删除或归档。

记住核心并非查看命令,而是建立一套从发现、定位到清理的流程。df -h 是入口,du 是放大镜,定期监控才是避免磁盘写满的安心方案。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/735473.html

赞 (0)
简米云服务器如何屏蔽IP?,IP封禁方法有哪些?
上一篇 2026年10月11日 10:10
下一篇 2026年6月6日 22:34

相关推荐

  • 广西人脸识别闸机系统加盟商怎么找?哪个品牌加盟政策好

    2026年成为广西人脸识别闸机系统加盟商,核心机遇在于踩准智慧城市与安防国标升级的节点,依托本地化服务优势切入高毛利的园区与社区场景,实现技术红利向渠道利润的精准转化,2026广西市场洞察:为何此时入局正当时政策驱动与国标落地随着《安全防范视频监控联网信息传输、交换、控制技术要求》(GB/T 28181)及人脸……

    2026年4月24日
    6400
  • 灰鸽子自动上线ftp服务器怎么控制别人电脑?,怎么用

    灰鸽子自动上线FTP服务器的控制方式,本质上是利用FTP作为木马回连的中转站,在配置端填入FTP地址与账号后,肉鸡会主动访问该FTP拉取指令或上报IP,从而绕过传统C2端口封禁实现远控,这一手法在过去几年被不少脚本小子滥用,也催生了大量“灰鸽子免杀过360教程”的需求,需要先说清楚:本文只做技术原理解析与防御视……

    2026年8月20日
    1300
  • 苹果下载QQ为何连不上服务器,连接失败是什么原因

    苹果下载QQ显示无法连接服务器失败,核心原因是网络链路不通或Apple ID验证异常,最快解决方案是先切换网络、重启App Store,再尝试还原网络设置,这篇文章根据实际排查经验,把从简单到复杂的解决方法完整梳理一遍,你按顺序操作即可,苹果手机下载QQ一直失败,先分清是哪种“无法连接”很多人一看到“无法连接服……

    2026年8月28日
    1100
  • AI视觉盘点是什么?如何实现智能仓储高效盘点?

    AI视觉盘点技术已实现从“概念验证”到“规模化落地”的跨越,成为企业降本增效的核心驱动力,当前,计算机视觉与深度学习算法的深度融合,使得ai视觉盘点在精度、效率及环境适应性上取得了突破性进展,它彻底改变了传统人工盘点耗时费力、误差率高的痛点,通过非接触式、自动化的数据采集,实现了库存管理的实时化与智能化,对于追……

    2026年2月25日
    12800
  • AIoT行业报告下载哪里有?2026最新行业报告免费下载入口

    AIoT产业正处于从“万物互联”向“万物智联”跨越的关键拐点,企业若想在这一轮技术红利中抢占先机,必须依托高质量的数据洞察进行战略布局,核心结论在于:AIoT行业已告别单纯的硬件连接时代,进入以AI算法驱动、边缘计算赋能、场景化落地为核心的深水区,获取一份权威详实的行业报告,是洞察技术路线、规避投资风险、寻找商……

    2026年3月14日
    12600
  • 广泛使用的开源关系型数据库有哪些?哪种开源关系型数据库好用

    在2026年的技术生态中,广泛使用的开源关系型数据库以PostgreSQL和MySQL为绝对主力,它们凭借高扩展性、强社区生态及卓越的性价比,成为企业构建核心数据架构的基石,开源关系型数据库的2026年格局演进双雄并立:PG与MySQL的生态分野根据IDC 2026年最新数据库追踪报告,开源关系型数据库在全球市……

    2026年4月24日
    5700
  • 如何关闭Excel预览?, 关闭预览有什么用

    关闭Excel预览的核心在于区分场景:如果你需要阻止别人通过资源管理器窥探文件内容,关闭预览窗格是最直接的方法;如果你在Excel中编辑时想移除实时预览带来的干扰,调整“始终使用打印预览”或清理缩略图设置即可,为什么你需要关闭Excel预览?隐私与性能的双重考量Excel文件常包含敏感数据,如客户名单、报价单或……

    2026年7月14日
    2600
  • 如何实现ASP.NET自定义分页控件?分享详细示例教程!

    在ASP.NET开发中,高效的数据分页是提升用户体验的关键环节,现成的分页控件往往难以满足定制化需求,通过创建自定义分页控件,开发者可以完全掌控分页逻辑和UI呈现,以下是完整的实现方案:// 基础控件结构public class CustomPager : WebControl, IPostBackEventH……

    2026年2月6日
    11000
  • 广西网站备案怎么查?工信部ICP备案查询入口

    在广西开展网站运营前,必须通过工信部ICP备案系统或广西通信管理局官方渠道完成备案,否则网站将被阻断访问,广西网站备案的核心流程与实操指南很多站长在搭建好网站后,往往忽略了备案这一关键环节,导致网站上线即被封,备案并非简单的填表,而是一套严格的合规审核流程,对于广西地区的主体而言,理解当地管局的具体要求是成功备……

    2026年5月28日
    6100
  • 荷兰HostSailorVPS测评,6.6美元/年方案实测对比,荷兰VPS哪个好用

    HostSailor荷兰节点6.6美元/年方案在低预算场景下具备极高的性价比,适合个人博客、轻量级开发测试及静态资源托管,但在高并发与稳定性上存在明显短板,不建议用于核心生产环境,方案解析与核心参数实测HostSailor作为欧洲知名的低价VPS服务商,其荷兰阿姆斯特丹节点以低廉的价格和基础的稳定性著称,202……

    2026年5月13日
    5300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注