Linux 和 k3s 磁盘空间清理实用命令汇总
编辑
8
2025-10-31
本篇文章合并了以下两篇文章的内容,方便统一查阅,文章内容借助Gemini进行总结生成的。
在 Linux 系统和 Kubernetes (k3s) 环境中,磁盘空间管理是确保系统稳定运行的关键任务。本文汇总了在日常运维中,用于分析磁盘占用、清理日志和管理 k3s 镜像的常用命令。
分析磁盘空间占用
当服务器磁盘空间告急时,第一步是定位哪些目录和文件占用了大量空间。以下命令可以帮助您快速分析磁盘使用情况。
查询当前目录占用空间大小
此命令会列出当前目录下占用空间最大的10个文件或文件夹,并按从大到小排序。
du -h ./ --max-depth=1 | sort -hr | head -n 10逐层分析根目录空间占用
这个命令可以帮助您从根目录 / 开始,逐层查看每个目录的大小,以便快速定位大文件所在位置。
du -h / --max-depth=1 | sort -hr | head -n 10查看并清理 Journal 日志
journald 是 systemd 的日志管理服务,其日志文件可能会占用大量磁盘空间。
查看 Journal 日志用量
journalctl --disk-usage清理 Journal 日志
您可以根据时间或指定的日志大小来清理旧的日志文件。
按保留时间清理 (例如,保留最近2天的日志):
journalctl --vacuum-time=2d按保留日志大小清理 (例如,保留500MB的日志):
journalctl --vacuum-size=500M
k3s 清理镜像 (containerd)
在使用 k3s 时,不断累积的容器镜像也是磁盘空间的主要消耗者之一。crictl 是一个用于检查和调试 CRI (Container Runtime Interface) 兼容的容器运行时的命令行工具。
使用 crictl 清理不再需要的镜像
以下命令会列出所有非 docker.io 的镜像,并尝试删除它们。这在清理本地构建或缓存的镜像时非常有用。
crictl images | grep -v 'docker.io' | grep -v 'rancher' | awk '{print $3}' | grep -v 'IMAGE' | xargs -I {} crictl rmi {} 2>/dev/null- 0
- 0
-
分享