ubifs开销测试

问题

在板子上观察到56M的ubi卷,挂载上ubifs之后,df -h显示可用空间约为50M。
如此计算开销超过了10%,那么这个开销随容量如何变化呢,是固定为10%吗还是有其他规律?

理论计算

简单查了下资料,没找到明确的计算方式。只知道ubifs分为了六个区域,那么要确认可用大小,应该先减去其余区域的占用,再确认main area本身如何计算可用空间。
这个要深入进去看源码,就比较花时间了。暂且搁置,以后有空再来填这个坑。

实际测试

测试命令

想了想,没有确认到理论计算方式的话,那就干脆直接实测一组数据好了。
板子本身nand的容量有限,且操作麻烦,我们直接在PC上模拟即可

#注意顺序,如果没有/dev/ubi0可能是modprobe顺序错了,则需要先rmmod,再重新执行
sudo modprobe nandsim first_id_byte=0xec second_id_byte=0xd3 third_id_byte=0x10 fourth_id_byte=0xa6
sudo modprobe ubi mtd=0
sudo ubimkvol /dev/ubi0 -N ubifs-vol -s 100MiB
sudo mkdir -p  /mnt/ubifs
sudo mount -t ubifs /dev/ubi0_0 /mnt/ubifs
df -h | grep ubi0_0

对应卸载命令为

sudo umount /mnt/ubifs
sudo rmmod ubifs ubi nandsim

查看ubi信息的命令

ubinfo /dev/ubi0_0

测试结果

ubifs开销测试_第1张图片

注: nandsim支持多种nand,由传入的id指定。模拟不同的nand型号,结果会有所差别。可以选择跟自己目标nand参数较为一致的设备作为模拟,更具有实际参考意义

参考资料

http://www.linux-mtd.infradead.org/faq/nand.html#L_nand_nandsim
http://www.linux-mtd.infradead.org/nand-data/nanddata.html

本文地址: https://www.cnblogs.com/zqb-all/p/11147184.html

你可能感兴趣的:(ubifs开销测试)