源码技术
php
java
python
Linux
当前位置:
首页
>
Linux
>紧急!Linux磁盘满到100%,太卡了
紧急!Linux磁盘满到100%,太卡了
2026-09-03 07:03:30
紧急!Linux磁盘满到100%,太卡了
登录服务器,输个命令半天没反应,部署应用提示“空间不足”,甚至数据库、网站直接卡死——查了半天,才发现磁盘使用率100%!
磁盘满了不是小事,轻则服务异常,重则数据丢失,而且很多人踩过“删了文件,空间还是不释放”的坑,越急越乱。
紧急排查——用du命令
磁盘满了,第一步不是盲目删除,而是找到“谁在占满磁盘”——不然删了一堆小文件,空间还是不够,纯属白费功夫。
这里用到最核心的命令,也是新手必记的:du -sh /
拆解一下这个命令,好记不混淆:
- d:显示目录占用大小;- s:汇总显示(不显示子目录细节);- h:用GB/MB直观显示(避免看一堆乱码数字);/:遍历根目录下所有文件夹,排查哪个目录最占空间。
1. 登录服务器,输入 du -sh / ,回车后等待几秒(视磁盘大小而定),会显示类似这样的结果:
8.5G /root
45G /var
2.3G /usr
100M /home
2. 重点看数值最大的目录(比如上面的/var目录,占了45G),然后逐级排查——进入这个目录,再执行du -sh ,继续找占空间最大的子目录。
示例:cd /var → du -sh ,发现是/var/log(日志目录)占了40G,再进入/var/log,继续排查具体哪个日志文件最大。
小技巧:如果目录太多,可搭配排序命令:du -sh / | sort -rh ,按占用空间从大到小排序,“元凶”直接置顶,不用逐个找!
常见“吃盘重灾区”:/var/log(日志)、/root(备份文件)、/var/lib(数据库文件)、/tmp(临时文件),优先排查这几个目录,效率更高。
高效清理——3类文件优先删,安全不踩雷
找到大文件后,就可以针对性清理了。记住:优先删“无用、可恢复”的文件,避免误删系统文件、核心数据,导致服务器崩溃。
推荐3类优先清理的文件,安全又高效,新手直接照做:
1. 日志文件(最常见、最安全)
Linux系统和应用(Nginx、MySQL、Tomcat)会不断生成日志,日积月累能占几十个G,尤其是错误日志、访问日志,清理后不影响服务运行。
清理方法(二选一,推荐第二种,避免误删):
① 直接删除(简单粗暴):rm -rf 日志文件名(比如 rm -rf /var/log/nginx/access.log)
② 清空文件(更安全,避免删除文件导致服务异常):echo "" > 日志文件名(比如 echo "" > /var/log/messages)
注意:清理日志后,建议重启对应服务(比如 systemctl restart nginx),确保日志正常生成。
2. 备份文件、压缩包
很多人部署应用、备份数据后,会把压缩包(.tar、.zip)、备份文件(.bak)留在服务器上,这些文件通常很大,且备份后可转移到本地,留在服务器纯属浪费空间。
排查方法:find / -name ".tar" -o -name ".zip" -o -name ".bak" ,找到所有备份/压缩文件,确认无用后删除。
提醒:删除前一定要确认——是否已经备份到本地?是否是近期必需的备份?避免误删无法恢复的数据。
3. 无用软件包、临时文件
服务器长期使用,会安装很多无用的软件包、依赖,还有/tmp目录下的临时文件,这些也会占用不少空间。
清理命令(分发行版,复制对应命令):
- CentOS/RHEL:yum clean all (清理yum缓存)、yum remove 无用包名(删除无用软件)
- Ubuntu/Debian:apt clean (清理apt缓存)、apt remove 无用包名
- 临时文件:rm -rf /tmp/ (注意:/tmp目录下的文件都是临时文件,重启后会自动清空,放心删)
避坑重点!删了文件,磁盘空间还是不释放?
这是最容易踩的坑——明明删了几个大文件,用df -h查看,磁盘使用率还是100%,心态直接崩了!
原因很简单:删除的文件,还被某个进程占用着。Linux系统中,文件被进程打开后,即使删除了文件本身,内核还是会保留文件的占用,直到进程终止,空间才会释放。
举个例子:你删除了nginx的访问日志,但nginx进程还在运行,日志文件的占用就不会释放,磁盘空间自然不变。
解决方法(两种,按需选择):
方法1:重启对应进程(推荐,安全不影响全局)
先找到占用被删除文件的进程,比如上面的nginx,直接重启进程:systemctl restart nginx ,重启后,进程释放文件占用,空间就会自动释放。
如果不知道哪个进程占用,可使用命令:lsof | grep deleted ,查看所有“已删除但仍被占用”的文件,找到对应进程ID(PID),然后终止进程:kill -9 PID。
方法2:清空文件(无需重启进程,更高效)
如果进程不能重启(比如核心业务进程),可以直接清空文件,而不是删除文件——这样既能释放空间,又不会影响进程运行。
命令:echo "" > 文件名 (比如 echo "" > /var/log/nginx/access.log)
重点提醒:尽量不要直接删除正在被进程占用的文件,优先用“清空文件”的方式,避免进程异常、数据丢失。
最后给大家一个小建议:定期清理磁盘(比如每周清理一次日志),给磁盘预留10%-20%的空闲空间,避免再次出现“磁盘满100%”的紧急情况。
另外,清理前一定要做好核心数据备份,避免误删重要文件——小心驶得万年船!
如果觉得这篇干货有用,记得点赞、在看,分享给身边的运维小伙伴。
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:596563534@qq.com 。
【系列】每天一个 Linux 命令(28)netstat 命令
dmPython 在 Windows 报错无法安装?从编译到打包的完整解决方案
最新文章
【系列】每天一个 Linux 命令(28)netstat 命令
【Milk-V Duo 开发板】搭建LINUX系统及通过命令控制蓝色LED亮灭
SparkyLinux 8.2 发布
数据不丢的底线:Linux运维如何搭建可靠的3-2-1备份体系?
从零开始学python-内置类的专有方法
超经典!10道Python必做练习题
Python35个必学函数,吃透直接封神
【免费获取Linux】深度操作系统(deepin20.5)
16天零基础通关Python统计学!保姆级手把手教程,小白也能变身数据分析高手
用 Python 和 Streamlit 求解马科维茨有效前沿
热门文章
Python读取CSV文件全指南:从入门到实战避坑
Python_字符串
'ormar' Python 库中发现严重 SQL 注入漏洞
Python基础知识(二):Python新手救星!7种常见数据类型,用大白话讲得明明白白
Linux 性能优化的全景指南
磁盘还剩 40G 服务全崩了?这个 Linux 隐藏杀手,90% 的人没听过
Linux挂载Windows公共盘
linux安全加固:服务器被打之前和之后,我分别做了什么
Linux三剑客之awk(下):吃透这篇,日志分析一行封神
掌握这些命令,可以更高效地在 Linux 终端处理文件内容.
随机文章
10个月宝宝每天需要喝多少奶粉?
为什么 Unix 和 Linux 是操作系统的灵魂?
跟 AI 学 Linux:SO_REUSEADDR 和 SO_REUSEPORT 对 Linux TCP bind 的影响
【案例教程】最新AI赋能Python长时序植被遥感动态分析、物候提取、时空变异归因及RSEI生态评估实战
Hyperview Python二次开发-自动创建page和windows
python中有關分數操作的一些事
【时间序列机器学习】Python14时间序列分布滞后非线性模型(DLNM)拟合及可视化
初学Python练题:函数(六),返回值
【岩石识别系统】Python+深度学习+人工智能+算法模型+TensorFlow+图像识别+2026计算机毕设项目
不会写 Python 也能做爬虫?这款浏览器插件,让我 5 分钟抓了 1000 条数据
Python编程小技巧--桑基图(Sankey Diagram)