群晖DSM 7.2系统中 @docker/btrfs/subvolumes/ 路径下文件占用过大的问题,可能与Btrfs文件系统的特性及Docker存储管理有关。
使用管理员账号登录ssh,然后输入sudo -i 获取root权限
用cd 命令 进入 volume1 文件夹
使用 du -h | sort -h -r 列出目录下的所有文件
查询得到是文件过大 @docker/btrfs/subvolumes/
然后用cd 命令进入 cd volume1/@docker/btrfs/subvolumes/
使用du -h | sort -h -r 命令继续查出较大的文件夹
得道的最终地址是cd /volume1/@docker/btrfs/subvolumes/a8e5f8031ffb7d07a1146a06f6c5f015f2cd1e5ea21b3636093cffb539bf924f/tmp 并进入对应文件
使用以下删除命令 sudo rm -rf ./* 对文件进行删除。
拓展命令:
查询当前目录下的 所有文件 du -sh *
cd .. 返回上级目录 cd ~ 主页目录
# 进入子卷目录cd /volume1/@docker/btrfs/subvolumes/a8e5f8031ffb7d07a1146a06f6c5f015f2cd1e5ea21b3636093cffb539bf924f/tmp #
删除所有 magick- 开头的文件rm -f magick-*
1. 推荐命令
查看当前目录下所有子目录的磁盘占用(逆序排序)
du -hd1 | sort -hr
-hd1:-h: 以人类可读格式(KB/MB/GB)显示大小。-d1: 仅显示当前目录下一级子目录的占用(避免递归过深)。sort -hr:-h: 按人类可读的大小排序(例如正确识别 10K < 1M)。-r: 逆序排列(从大到小)。
查看全路径的磁盘占用(包含所有子目录和文件)
du -ah /path/to/directory | sort -hr | less
-a: 显示所有文件和目录的占用。/path/to/directory: 替换为实际路径(如/volume1)。less: 分页查看结果(按q退出)。
查看根目录下各文件夹占用(需管理员权限)
sudo du -hd1 / | sort -hr
/: 扫描根目录(需谨慎操作)。sudo: 访问系统目录需要管理员权限。
2. 典型输出示例
Plaintext12G ./@docker8.4G ./@download 3.7G ./@photos 1.2G ./@music
目录说明:
@docker: Docker容器和镜像存储目录(常见占用大户)。@download: 下载缓存目录(如Download Station生成的文件)。@photos: Synology Photos的图片索引和缩略图。@music: Audio Station的音乐库文件。
3. 针对性清理建议
(1)清理Docker占用
Bash# 删除未使用的容器、镜像和卷docker system prune -a --volumes --force# 检查残留子卷(Btrfs专用)sudo btrfs subvolume list /volumeX/@docker | grep "orphan" | xargs -L1 sudo btrfs subvolume delete
(2)清理下载缓存
通过Download Station: 进入 Download Station > 设置 > 位置,清理已完成任务的缓存文件。
手动删除:
rm -rf /volumeX/@download/*
(3)优化Synology Photos
进入 Synology Photos > 设置 > 索引,删除旧设备的备份索引。
清理缩略图缓存(需重启服务生效):
rm -rf /volumeX/@photos/@eaDir
4. 高级排查技巧
(1)查找大文件
find /volumeX -type f -size +500M -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'作用: 列出所有大于500MB的文件路径及大小。
替代方案: 使用群晖 Storage Analyzer 套件(图形化分析工具)。
(2)检查Btrfs文件系统状态
# 查看存储池空间分配sudo btrfs filesystem usage /volumeX# 启动数据完整性检查sudo btrfs scrub start /volumeX

已有 461 位网友参与,快来吐槽:
发表评论