阿里云实名等级提升 ECS系统盘满了怎么办?清理Linux系统垃圾与日志文件绝招
问题分析:系统盘“满”的真实原因往往不止一个
系统盘满并不等于“你装了太多软件”。在企业业务里,最常见的触发链条是:应用产生日志/缓存激增 → 日志轮转或权限策略不生效 → 容器/任务把文件写到系统盘 → 临时文件残留或下载缓存未清理 → 资源限制导致写入失败又引发重试,进一步放大占用。
你需要先回答两个问题,才能决定是“清理为主”还是“尽快扩容/续费为主”。
- 目前系统盘还有多少空间:是否已经进入写入失败/服务重启循环。
- 空间占用大户集中在哪类目录:/var/log、/var/tmp、/tmp、/home、/opt、/var/lib/docker、/usr/lib/modules(旧内核)等。
先止血再排查:避免清理过程中把系统搞到不可用
系统盘满时,清理最怕两件事:一是删除了正在被写入的文件导致日志丢失;二是误删了系统关键文件导致服务起不来。建议按顺序做:
- 确认空间现状:先看挂载点占用,而不是只看“根目录”。
执行:
df -h - 找最大的目录/文件:先用汇总方式定位,再进入具体目录清理。
执行(示例):
sudo du -sh /* 2>/dev/null | sort -h再针对可疑目录做深挖:
sudo du -h --max-depth=2 /var/log /var/tmp /tmp /home 2>/dev/null | sort -h - 确认日志是否在“持续增长”:如果某个文件正在被写入,直接删可能影响应用。
执行(示例):
sudo lsof | grep -E '/var/log|/tmp' | head
经验提醒:如果你发现 /var/log 下某个文件几十G仍在增长,优先处理“轮转/权限/写入位置”,而不是盲目删文件。
Linux系统垃圾与日志文件清理“绝招”:按常见大户逐类处理
下面的策略是企业运维中反复出现、可直接照做的清理路径。你不必全部执行,按你实际定位到的目录选择。
1)清理 /var/log:先停写入再轮转,最后压缩或删除旧文件
常见触发:应用日志没轮转、日志路径权限错误导致无法轮转、程序把日志写到系统盘但你没设置保留策略。
- 查看日志大小:
sudo du -h --max-depth=1 /var/log | sort -h - 检查轮转状态(不同发行版略有差异),先确认是否有定时任务在跑。
- 对“已归档的旧日志”做压缩/删除:
示例(谨慎使用):
sudo find /var/log -type f -name "*.log.*" -mtime +14 -delete如果你需要保留排障材料,可把删除换成压缩:
gzip或保留 N 天。 - 处理正在写入的日志:不要直接删;用轮转(或重启应用前先切换到新文件)。
2)清理 /tmp 和 /var/tmp:临时文件残留是“隐形杀手”
很多服务异常退出后,临时文件不会自动清理,企业自动化脚本也可能把产物写到系统盘。
- 检查目录大小:
sudo du -sh /tmp /var/tmp - 清理过期文件:
sudo find /tmp /var/tmp -type f -mtime +7 -delete
注意:不要删除应用当前正在使用的临时文件。若你发现某目录下文件在增长且被进程打开,先确认进程再处理。
3)清理用户目录与下载/缓存:把“误用的写入路径”改回去
企业里系统盘满经常是“不是运维的问题,是业务写错路径”。比如下载临时包、上传缓存、导出报表落到 /root 或 /home。
- 查看用户目录最大项:
sudo du -h --max-depth=2 /root /home 2>/dev/null | sort -h - 如果是缓存:清理缓存并修改应用配置,把缓存目录挂到数据盘(如果有)或独立挂载点。
4)清理旧内核与core文件:排障产物堆积常被忽略
- 旧内核:
dpkg --list 'linux-image*' 2>/dev/null或rpm -qa | grep kernel(按发行版)后确认可删除范围。通常保留最新与稳定可回滚版本。 - core文件:
sudo find / -name 'core*' -type f -size +200M 2>/dev/null确认无价值后删除:
sudo find / -name 'core*' -type f -mtime +3 -delete
5)如果用容器:docker/镜像/卷占满系统盘的概率很高
企业生产常出现:镜像频繁拉取、构建缓存未清、卷里写入数据落到了系统盘(尤其没做挂载规划)。
- 查看占用:
docker system df - 清理停止的镜像/缓存(谨慎):
docker image prune -fdocker system prune -f(可能会影响未使用资源)
经验提醒:清理前先确认业务部署方式是否依赖“未标记为可清理的镜像/层”。尤其蓝绿/灰度环境中,误删会导致拉镜像失败或启动变慢。
场景分析:你应该选择“清理”还是“续费/扩容/迁移”?
决策不需要玄学,按风险分层即可。
| 场景 | 典型表现 | 优先动作 | 为什么 |
|---|---|---|---|
| 日志/临时文件异常增长 | /var/log 或 /tmp 持续增长,服务频繁报错或重启 | 先止血清理 + 修正轮转/写入路径 | 清理只是赢一时;不修策略会很快再次满 |
| 磁盘已接近只读/写入失败 | 写入失败、数据库/队列报错、SSH/系统服务异常 | 快速释放空间(删可删项)+ 立刻考虑扩容/追加资源 | 等清理完全结束可能来不及恢复写入能力 |
| 容器镜像/构建缓存堆积 | docker目录明显占用,部署频繁 | 清理未使用镜像/缓存 + 把构建缓存/数据卷做独立挂载 | 持续增长来自流水线;要从根上改落盘位置 |
| 系统盘是承载业务数据的误用 | 业务文件/导出/上传都落在系统盘目录 | 规划迁移到数据盘/独立挂载 + 修配置 | 清理不能替代架构修正,成本会持续失控 |
成本控制:避免“清理完又满”的隐性加价
很多团队只做一次性清理,随后又不得不频繁扩容或迁移。你可以通过两条思路把成本压下来:
- 阿里云实名等级提升 制定日志保留策略:明确“保留天数/保留大小”,把轮转压到可控范围。尤其是线上接口报错堆栈、debug日志,必须限制级别与采样。
- 把写入路径从系统盘迁走:缓存、上传、导出、队列落地、容器卷尽量放在数据盘或独立挂载点。
账号与合规链路:当你要续费/扩容时,身份与支付环节别卡住
系统盘满通常会触发你“需要立刻续费/调整资源”。这时很多企业不是卡在技术,而是卡在账号开通、实名认证/企业认证和支付风控。
1)实名认证/企业认证未完成:可能影响资源变更与账单处理
- 如果当前账号认证状态不完整,部分变更/付费动作可能无法继续。
- 企业用户常见情况:主体名称、证件信息与采购/合同抬头不一致,导致审核往返。
2)充值续费与支付方式:建议提前准备“可用支付通道”
- 一些企业在需要紧急续费时才发现当前支付方式受限(例如需要补充材料或触发风控复核)。
- 建议在业务稳定期提前确认:付款方式是否可用、账单地址/发票信息是否一致、联系人信息是否准确。
阿里云实名等级提升 3)风控审核:异常订单更容易在“紧急时刻”放大影响
经常遇到的触发点不是你充值本身,而是“账户状态 + 支付行为 + 变更动作”叠加,例如短时间多次变更、跨主体采购、付款信息频繁调整。建议:
- 不要在认证/企业信息未校验完成前频繁尝试变更资源。
- 如果已有未完成的工单或审核,先补齐材料再做续费/扩容。
常见错误清单:这些操作最容易让“空间问题”变成“故障问题”
- 只看根目录容量:忽略实际挂载点(/var、/home、/data)占满。
- 阿里云实名等级提升 直接删除正在写入的日志:导致应用异常、日志定位困难。
- 清理 docker 资源不考虑部署策略:灰度/回滚时拉镜像失败。
- 清理后不修轮转/写入路径:短期见效、长期反复满盘。
- 认证/支付环节未提前准备:技术侧已经在解决,账务侧却无法完成续费或扩容。
FAQ
Q1:系统盘满了还想先上线业务,先清哪个目录最稳?
阿里云实名等级提升 优先看 /var/log、/tmp、/var/tmp、以及明显的历史归档日志;同时用 lsof 判断是否有进程正在写入。不要先动你不确定是否被应用占用的目录。
Q2:清理完空间还是继续上涨怎么办?
通常是轮转策略失效或应用写入路径没改。下一步应锁定“持续增长的文件/进程”,把日志/缓存落盘到数据盘或修正轮转/采样等级,再做持续清理的策略化。
Q3:需要扩容/续费时,认证与风控怎么避免影响紧急处理?
建议先核对账号认证状态(实名认证/企业认证)是否已完成;再确认可用的支付方式与发票/主体信息一致。若存在审核中事项,先补齐材料再发起付费动作,减少来回复核。
Q4:能不能只靠“定期清理”解决?
能缓解,但在生产环境里风险很高:一旦出现异常流量/错误风暴,清理会跟不上增长速度。更稳的做法是结合“轮转保留策略 + 写入路径治理 + 必要时扩容预案”。
选择建议:你下一步该怎么做(建议按时间顺序)
- 今天立刻:执行
df -h找挂载点占用 → 用du找大户 → 用lsof判断是否正在写入 → 清理可删除项。 - 阿里云实名等级提升 同一时段:锁定持续增长源(进程/文件),修轮转或改写入路径,避免再次满盘。
- 如果空间不足以支撑修复:同步准备续费/扩容/迁移的操作链路,并提前检查企业认证与支付可用性,避免风控与审核卡在关键节点。

