linux服务器哪个文件占用空间大?如何查看大文件清理磁盘

排查Linux服务器磁盘占用,核心步骤就三步:先用df -h看哪个分区满了,再用`du -sh ./定位大目录,最后用find和lsof`锁定具体文件。 很多人一看到磁盘告警就想删文件,但盲目删除容易误伤,按顺序排查才靠谱。

linux服务器磁盘空间占用查看,从分区到文件一步步来

Linux服务器磁盘用满,网站会卡,日志写不进去,数据库直接报错,这时候你需要先弄清楚:到底是哪个分区满了,哪个目录在疯狂占空间,最终哪个文件该清理。

第一步:df -h确认分区使用率

df -h是看文件系统整体使用情况的,执行后你会看到类似这样的输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   38G  1.2G  97% /

Use%那一列是关键信息:

  • 超过80%,就需要关注趋势
  • 超过90%,基本已经处于危险状态
  • 超过97%,写日志都可能失败

这里有个容易踩的坑:df看的是分区,不是具体文件,比如/data是独立分区,根分区满了就和/data无关;反过来,如果满了,但/data还有很多空间,你只需要排查根分区下的目录,重点看/var、/tmp、/usr这些高频目录。

挂载点决定排查范围

执行df -h后,注意Mounted on列,如果某个目录单独挂在独立磁盘上,比如/data有1T空间,那你不需要去/data里找占用,反之,如果所有目录都挂在上,排查范围就是整个根目录,这一步能避免你在无关目录里白费力气。

linux服务器哪个文件占用空间大?用du命令逐级定位

df给了方向,现在要动手找文件,这里用到最常用的

linux服务器哪个文件占用空间大?如何查看大文件清理磁盘

du命令。

du -sh :找出目录下的大块头

在需要排查的目录下执行:

cd /var
du -sh ./ --exclude='.' | sort -hr

du -sh会汇总每个子目录的大小,sort -hr按人类可读的大小从大到小排序,输出结果里你会一眼看到哪个目录最占空间,

3G    ./log
800M    ./cache
760M    ./lib

然后继续cd /var/log,再用同样的命令往下钻,直到找到具体文件,这个过程就是“剥洋葱”,一层层下去,最终定位到占用大户。

du和find配合,快速锁定大文件

有时候你只想找某个目录下超过1G的文件,直接用find更高效:

find /var -type f -size +1G -exec ls -lh {} ;

这条命令会列出/var下所有超过1G的文件,并显示大小和路径,如果文件特别多,可以加-mtime按时间过滤,比如只看最近7天修改过的:

find /var -type f -size +500M -mtime -7 -exec ls -lh {} ;

这样查出来的文件,多半是日志、备份包或者临时文件,清理前先用du确认是否有进程正在使用,避免误删。

linux服务器删除文件后空间没释放怎么办?lsof找残留进程

这个场景特别常见:你用du找到了一个大文件,比如/var/log/syslog,然后执行rm -rf删掉了,但df -h一看,空间还是没变,怎么回事?

文件被进程占用,删除后依然占据磁盘

Linux里删除文件,实际上是解除目录项链接,如果这个文件正被某个进程打开,内核会保留它的inode,直到进程关闭文件句柄,所以你删了文件,但磁盘空间还一直被占着,直到相关进程重启。

用lsof

linux服务器哪个文件占用空间大?如何查看大文件清理磁盘

命令找出正在占用已删除文件的进程:

lsof | grep deleted

输出的最后一列会显示“(deleted)”标记。

java  2314 root  1w  REG  253,0  1048576  788961 /tmp/xxx.log (deleted)

这时你有两个选择:

  • 重启对应的进程,让系统释放句柄
  • kill那个进程,但注意确认进程归属和业务影响

如果进程不能重启,比如数据库,可以尝试用> /proc/2314/fd/1清空句柄内容,也能腾出空间。直接kill生产环境进程要谨慎,先看清楚进程是什么。

linux服务器清理磁盘空间实操:日志、缓存、core文件

找到文件后,清理也有讲究,很多人直接rm,其实分场景处理更安全。

日志文件:用logrotate或truncate

日志文件是磁盘占用的头号嫌疑犯,尤其是/var/log/下面的messages、syslog、nginx/access.log,长期不轮转会涨到好几个G,推荐使用系统自带的logrotate工具,按天或按大小切割日志,保留最近几份,旧日志自动压缩清理。

如果日志还在写入,比如nohup.out,不能直接删,先用truncate命令清空:

truncate -s 0 /root/nohup.out

这样能立刻释放空间,而且不打断正在写入的进程。

缓存和临时文件:yum、pip、/tmp

  • yum缓存:执行yum clean all,清理/var/cache/yum下的rpm包
  • pip缓存:执行pip cache purge,清掉下载的安装包
  • /tmp目录:系统临时文件集中地,但别误删正在使用的进程句柄,重启后自动释放

对于容器环境,还要检查docker system df,悬空镜像和构建缓存常常占用几十G空间。

linux服务器哪个文件占用空间大?如何查看大文件清理磁盘

core dump文件:排查后删除

程序崩溃时可能生成core dump核心转储文件,动不动就几百M甚至几个G,在/data目录或者进程启动目录下,找到core.格式的文件,确认没有调试价值直接删除,为避免未来再次生成,可以设置ulimit -c 0限制core文件大小。

关于linux服务器文件占用排查的常见问题

问题1:为什么df和du显示的空间大小不一致?

因为df统计的是整个文件系统已用块,du统计的是所有文件实际占用的数据量,被删除但未被释放的文件、文件系统保留块、元数据不一致都会导致两者有差异,只要出现df很大但du很小,基本就是有文件被删但句柄没释放,用lsof | grep deleted排查。

问题2:linux服务器哪个文件占用空间大,用命令怎么查?

在不确定根分区还是数据盘满了的情况下,先df -h确认挂载点,然后进入对应目录执行du -sh ./ | sort -hr逐级排查,再配合find /目录 -type f -size +1G -exec ls -lh {} ;直接列出超1G的大文件,两步组合覆盖绝大多数场景。

问题3:rm大文件后磁盘空间没释放,除了lsof还有别的方法吗?

可以执行du -sh /proc//fd 2>/dev/null | sort -hr查看每个进程文件描述符的数据量,找到占用最多的进程ID,确认进程是否正常,如果业务允许,重启进程即可释放空间;如果无法重启,用> /proc/PID/fd/文件描述符编号方式清空内容。

Linux服务器磁盘占用排查,df定位分区,du定位目录,find定位文件,lsof处理死文件”这个顺序,再大的磁盘也能找到根源。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/882828.html

赞 (0)
上一篇 2026年10月3日 12:49
下一篇 2026年10月3日 12:52

相关推荐

  • 网站开发软件排行榜揭秘,哪些工具在2025年最受欢迎?

    随着互联网技术的飞速发展,网站开发软件成为了众多企业和个人不可或缺的工具,为了帮助大家更好地了解和选择适合自己的网站开发软件,本文将为您盘点当前市场上表现优异的网站开发软件排行榜,前端开发工具Adobe DreamweaverAdobe Dreamweaver是一款功能强大的网页设计软件,支持HTML、CSS……

    2025年11月2日
    04940
  • 开发新闻是什么?开发新闻定义

    开发新闻定义是指基于互联网技术,对新闻生产、分发及消费全流程进行数字化重构与智能化升级的系统性工程,其核心在于利用算法推荐、大数据分析及自动化内容生成技术,实现新闻内容的精准触达与高效传播,在2026年的数字生态中,新闻已不再仅仅是信息的载体,而是连接用户与世界的智能接口,传统的“采编发”线性流程已被打破,取而……

    2026年6月17日
    01194
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 哪个公司服务器便宜点,云服务器哪家性价比高?

    没有绝对最便宜的服务器公司,只有适合你场景的最优解,国内云厂商中,阿里云和腾讯云的新用户轻量服务器价格最低,首年常低于百元;物理服务器则要看机房和带宽,通常二线厂商更便宜,国内服务器哪家便宜?先看云厂商新用户活动云服务器价格战常年围绕新用户展开,老用户续费价格往往比新购贵一倍以上,所以讨论“哪家便宜”必须先明确……

    2026年10月3日
    055
  • 微信插件开发视频教程,有哪些实用技巧和难点解析?

    微信插件概述微信插件是一种可以嵌入微信客户端的功能模块,它能够丰富用户的微信使用体验,提高用户粘性,本文将为您介绍微信插件的开发过程,并提供一系列视频教程,帮助您快速上手,开发环境准备操作系统:Windows 7/8/10 或 macOS 10.12 及以上版本开发工具:Visual Studio Code 或……

    2025年12月1日
    03630

发表回复

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