如何查找树莓派 SD 卡上的空间占用情况?

如何查找树莓派 SD 卡上的空间占用情况?

我在 3 个 Raspberry Pi 4 的集群上运行 k3s。当节点展示DiskPressure并且 Pod 被驱逐时,我不断遇到问题 - 但是,我不知道是什么占用了 15G SD 卡上的空间我'我正在使用。我已经尝试了所有明显的候选者 -/var/log文件,,journalctl --vacuum-size-docker system prune -af --volumes但我永远无法让根文件系统的使用率远低于 80%:

$ df -h | head
Filesystem                  Size  Used Avail Use% Mounted on
/dev/root                    15G   11G  3.0G  79% /
devtmpfs                    3.7G     0  3.7G   0% /dev
tmpfs                       3.9G     0  3.9G   0% /dev/shm
tmpfs                       1.6G  7.2M  1.6G   1% /run
tmpfs                       5.0M  4.0K  5.0M   1% /run/lock
/dev/mmcblk0p1              253M   32M  221M  13% /boot
...(other mounted filesystems, like external hard drives and NFS mounts)

我一直试图du --max-depth 1 -xh . 2>/dev/null追踪大型物体,但这已经走进了死胡同——尤其是自从df并且du无意提供匹配结果:

$ du --max-depth 1 / -xh 2>/dev/null
8.0K    /mnt
2.1G    /usr
4.0K    /media
4.0K    /opt
16K     /lost+found
6.0M    /etc
146M    /home
4.0K    /root
1.3G    /var
4.0K    /srv
40K     /tmp
3.5G    /

du告诉我仅使用 3.5G,但df报告使用 11G 时,我可以使用哪些替代工具来查找要删除的垃圾(或 - 垃圾,这是程序故障的证据)?

谷歌在这里并不是特别有帮助 - 大多数答案都集中在duor ls(它给出了与 类似的视图du),或使用find来查找大文件(有一定帮助,但如果我有大量小文件则没有用),甚至只[ncdu](https://unix.stackexchange.com/a/125451/30828)同意du这一点~3.5G 正在使用中。按照本指南,我试图找到任何已被删除的文件(因此,被“看到”df但未被“看到” du),但结果(几乎)是空的:

$ sudo lsof -w | grep -i 'deleted'
systemd-j    155                              root   27u      REG              179,2    33554432      37340 /var/log/journal/539cc463fa774d11a5642e3744db7544/user-1000@f197a92838804bf28f92299ece25a807-000000000005daa8-0005f1ce57c1e95c.journal (deleted)

答案1

您正在du --max-depth 1 / -xh 2>/dev/null以普通用户身份运行。因此,由于权限限制,将有大量目录无法遍历。你必须以 root 身份运行此命令。

相关内容