事情的这样的,我一直在路由器上跑 AdGuardHome ,昨天对其升级了下版本。拖进 scp 后我才意识到新版本体积从 18MB+膨胀到了 30MB+,貌似路由器可用空间没这么大,但出乎意料的是上传成功了。
上传目录是 /data/AdGuardHome ,通过 df -h /data/AdGuardHome
命令查看,显示总空间 28.3M ,已用 20.7 M ,可用 6.2M ,而使用 du -sh /data/AdGuardHome
统计占用分明是 32.3M 。与此同时,还可以通过 scp 上传大约 10M 的文件才会报空间不足。路由器是 Redmi AX5.
而在另一台路由器 Redmi AX6 上也是一样,df -h 统计出来的空间不仅小,Available 还是 0 ,而实际还可以再塞下大概 3MB 的文件。
这就给我整不会了。所以,我想问问这是啥情况?以及如何获取正确的已用空间和可用空间信息?
1
CallMeReznov 2022-02-18 14:06:43 +08:00
稀疏文件
我之前在 V2 也问过这个问题. |
2
killva4624 2022-02-18 14:20:48 +08:00
有可能是文件被删除,但句柄没释放。
|
3
olaloong OP @CallMeReznov 学到了。整了个超大的稀疏文件试了,确实会干扰 du 和 ll 的统计,不过 AdGuardHome 这个可执行文件压缩比这么大是我没想到的...
那这么一来,是不是除非把存储空间干爆,不然没法得知实际可用空间有多少了? [![HTe2qI.png]( https://s4.ax1x.com/2022/02/18/HTe2qI.png)]( https://imgtu.com/i/HTe2qI) @killva4624 句柄没释放的话,应该是实际可用空间小于显示空间才对。现在是实际可用空间大于显示空间了。 |
4
w7938940 2022-02-18 14:40:26 +08:00
AX6 我之前刷了 AdGuard ,开启一个月日志的话空间不足,我就没用了
|
5
hahastudio 2022-02-18 14:42:11 +08:00
我记得 AdGuard 最要命的是日志特别大
|
6
olaloong OP @w7938940 之前被坑过,就改成了保留 24 小时的日志。只要搞得话可以改下 /etc/init.d/AdGuardHome 脚本,给启动命令加上 -w /tmp ,把工作目录挪到内存里,这样空间大不少。不过重启日志就没了,需要的话得提前备份。我放在内存里的目的是不想磨损闪存寿命。
|
7
olaloong OP @hahastudio 可以把工作目录挪 /tmp 里缓解一下空间问题。而且也没必要留太久日志吧...我留了 24 小时的日志
|
8
swiftg 2022-02-18 14:51:24 +08:00
不一定所有的分区都被挂载出来了啊,有可能有隐藏特殊用途的分区,很常见,ls /dev/ | grep mtd
以前用的 linksys 还有两套独立的系统在不同的分区呢,一套挂了就可以切换到另一套 |