ubifs开销测试

问题

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

理论计算

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

实际测试

测试命令

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

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 mount -t ubifs /dev/ubi0_0 /mnt/ubifs
df -h | grep ubi0_0

对应卸载命令为测试

sudo umount /mnt/ubifs
sudo rmmod ubifs ubi nandsim

查看ubi信息的命令code

ubinfo /dev/ubi0_0

测试结果

注: nandsim支持多种nand,由传入的id指定。模拟不一样的nand型号,结果会有所差异。能够选择跟本身目标nand参数较为一致的设备做为模拟,更具备实际参考意义htm

参考资料

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

本文地址: http://www.javashuo.com/article/p-xvlgnkrt-gp.htmlget

相关文章
相关标签/搜索