找回飞牛os系统盘的空间
飞牛os安装时选择的空间较小(16G),刚开始的时候是够用的,随着使用时间剩余空间越来越少,占用达到88%以上。最近在学习lxc容器,在nas上练手,导致系统分区占用100%,在找回空间的过程中,顺便把空间占用减小到60%。
查看磁盘整体使用情况
df -h
确认哪个分区(比如 / 根分区或 /var 分区)已经满了或接近满。
清理系统。
1 | # 检查 apt 缓存(通常能清理几百 MB) |
找到占用空间最大的目录
1 | sudo du -sh /* --exclude=/vol1 --exclude=/vol2 --exclude=/vol02 2>/dev/null | sort -hr | head -15 |
排除了挂载的大硬盘 /vol1, /vol2, /vol02,这样看根分区更清楚。需要的时候比较长。
docker,lxc之类默认在/var/lib下面。
查找大于 100MB 的大文件
直接搜索根分区下所有大于 100MB 的文件:
1 | sudo find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | awk '{print $5, $9}' | sort -hr | head -20 |
这个命令会直接列出所有大文件的路径和大小,是最快定位问题的方法。
找到占用空间的主要是这三个:/usr,/swapfile,/var。
- /swapfile
有 4.1GB —— 是系统 swap(虚拟内存)。nas的物理内存只有 4GB,系统创建了一个 4.1GB 的 swap 文件来辅助内存。这部分是正常的,不建议删除。 - /usr
7.1GB —— 系统程序,不能动。 - /var
3.2GB —— 这是可以清理的部分。
1 | # 查看 /var 下面哪些子目录大 |
解决方案
16GB 根分区对于 Debian + fnOS + Docker 来说确实太小了。大硬盘(/vol1、/vol2)有几百 GB 空间,把 swapfile 迁移到 /vol1 或 /vol2,可以释放根分区 4.1GB 空间。
1 | # 关闭当前 swap |
这样根分区可以立即释放 4.1GB 空间,使用率从 88% 降到 60% 左右,后续再清理一下 /var,就能稳定在 50-60% 的水平。
验证并查看释放的空间
1 | swapon --show # 应该显示 /vol1/swapfile |
完成后:
- 根分区 (/):从 88% 使用率降低到 ~60%。
- 可用空间:从 1.9GB 增加到 ~6GB。
- 性能:将 swap 放在大硬盘上,对日常使用没有任何负面影响。
nas上系统分区主要用于放置操作系统,数据独立存放,docker之类占用空间大的都放在大容量存储上,lxc也同样需要放在大容器存储上,不然会把系统分区占满。
本文由deepseek指导,并实操通过。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 折腾日记!
评论