“Linux cleanup 问题”含义比较广,常见包括:磁盘空间异常、临时文件未清理、日志爆满、内存/缓存未释放、僵尸进程、systemd 清理失败、容器/镜像堆积等。下面给你一套通用排查思路和命令,你可以按场景选用。
先明确是哪一类问题:
df -h
du -sh /* 2>/dev/null
du -sh /var/* 2>/dev/null
find / -type f -size +100M 2>/dev/null
lsof | grep deleted
常见于日志被删但进程仍持有句柄,需重启进程或清空文件:
: > /var/log/xxx.log
df -i
/var/log
journalctl
journalctl --disk-usage
journalctl --vacuum-size=100M
/tmp
/var/tmp
手动清理(谨慎):
rm -rf /tmp/*
free -h
top
cat /proc/meminfo
清理缓存(一般不建议):
sync
echo 3 > /proc/sys/vm/drop_caches
ps aux
top
ps aux | awk '$8 ~ /Z/'
apt-get clean
apt-get autoremove
yum clean all
docker system df
docker system prune -a
systemctl status systemd-tmpfiles-clean
journalctl -u systemd-tmpfiles-clean
crontab -l
cat /etc/cron.daily/*
df -h → 是否磁盘满du / find → 找大文件lsof | grep deleted → 删了但没释放journalctl → 看清理失败原因如果你能补充:
我可以直接给你针对性的排查命令。