返回列表 发布新帖
查看: 44|回复: 0

Linux 服务器系统盘占满的影响与排查修复方法

发表于 4 天前 | 查看全部 |阅读模式

这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在运维中,服务器最常见的问题之一就是 系统盘空间被占满。这不仅会影响应用运行,还可能导致系统卡顿甚至宕机。本文将介绍系统盘占满会遇到的情况,以及如何查看并修复问题。
一、系统盘占满会遇到什么情况?
系统层面影响
  • 卡顿或无法登录:系统需要写入临时文件和历史记录,如果写不进去,SSH 登录会卡住。
  • Swap 无法使用:物理内存不足时需要写入 swap,系统盘满了会导致直接崩溃。
  • 服务异常退出:系统守护进程或任务调度写不进日志,可能直接挂掉。
应用层面影响
  • 日志写入失败:Nginx、Apache、Tomcat、系统日志等写不进磁盘,应用可能阻塞。
  • 数据库服务崩溃:MySQL、PostgreSQL 等需要写事务日志和数据文件,如果写不进去会停止服务。
  • Docker/K8s 服务故障:容器数据写在 /var/lib/docker,系统盘满会直接导致容器无法运行。
典型表现
  • 服务器突然卡顿、命令响应缓慢。
  • 服务请求报错(500、超时等)。
  • 重启后部分服务无法启动。
二、如何查看系统盘占用情况?
查看磁盘整体使用率
  1. df -h
复制代码
重点查看 /(根目录)挂载点的使用率。
  • 逐级查找占用大的目录
  1. cd /
复制代码
  1. du -sh * 2>/dev/null
复制代码
进入 /var、/usr、/root 等目录继续排查。
  • 快速定位大文件
  1. find / -type f -size +500M 2>/dev/null
复制代码
找到大于 500MB 的文件,常见是日志、数据库 binlog、备份包等。
  • 交互式查看(推荐)
安装 ncdu 工具:
  1. apt install ncdu -y   # Debian/Ubuntu
复制代码
  1. yum install ncdu -y   # CentOS
复制代码
  1. ncdu /
复制代码
进入后可以直观浏览磁盘占用,并支持直接删除文件。
三、如何修复?
清理日志和临时文件
# 清空系统日志(谨慎)
> /var/log/messages
> /var/log/syslog
# 删除 7 天前的临时文件
find /tmp -type f -mtime +7 -exec rm -f {} \;
清理软件缓存
# Debian/Ubuntu
apt-get clean
# CentOS
yum clean all
删除大文件或转移到数据盘
  • 将备份包、旧安装文件迁移到数据盘:
  1. mv filename.tar.gz /data/
复制代码
  • 优化数据库和日志
开启 logrotate,定期压缩/清理日志。
MySQL 定期清理 binlog:
  1. PURGE BINARY LOGS BEFORE NOW() - INTERVAL 7 DAY;
复制代码
根本解决:扩容系统盘或挂载数据盘
  • 云服务器一般支持 在线扩容磁盘。
  • 也可以单独挂载数据盘,把 /var/log、/var/lib/mysql 等大目录迁移过去。
四、总结
  • 系统盘满的后果:服务器卡顿、无法登录、服务崩溃、数据库停止。
  • 排查方法:df -h → du -sh * → find 或 ncdu。
  • 修复手段:清理日志/缓存、迁移大文件、启用日志切割、扩容磁盘。
一句话总结:
  • 系统盘占满,先排查再清理,根本解决方案是合理分区和扩容磁盘。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 Suike Tech All Rights Reserved. 随客交流社区 (备案号:津ICP备19010126号) |Processed in 0.060288 second(s), 6 queries , Gzip On, MemCached On.
关灯 在本版发帖返回顶部
快速回复 返回顶部 返回列表