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
测试结果

注: 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开销测试的更多相关文章
- 从0开发3D引擎(四):搭建测试环境
目录 上一篇博文 了解自动化测试 单元测试 集成测试 端对端测试 通过打印日志来调试 了解运行测试 断点调试 通过Spector.js测试WebGL 通过log调试Shader 移动端测试 了解性能测 ...
- Python 中的进程、线程、协程、同步、异步、回调
进程和线程究竟是什么东西?传统网络服务模型是如何工作的?协程和线程的关系和区别有哪些?IO过程在什么时间发生? 一.上下文切换技术 简述 在进一步之前,让我们先回顾一下各种上下文切换技术. 不过首先说 ...
- Python数据结构与算法--算法分析
在计算机科学中,算法分析(Analysis of algorithm)是分析执行一个给定算法需要消耗的计算资源数量(例如计算时间,存储器使用等)的过程.算法的效率或复杂度在理论上表示为一个函数.其定义 ...
- XRP节点部署
目录 XRP节点部署 准备 硬软件配置(建议) 安装Rippled服务 一. 以Stock Server模型运行 在何种情况下运行此模式 二 .以 Validator模式运行 在何种情况下运行此模式 ...
- 读书笔记-C#中装箱拆箱性能
前言 最近在看王涛大神的<你必须知道的.NET(第二版)>一书,嗯,首先膜拜一下…. 在书中的第五章-品味类型中,对装箱与拆箱一节感触很深,概念本身相信每一个程序猿都不陌生,装 ...
- 《深入理解JVM》第二章读书笔记
Java内存区域与内存溢出异常 运行时数据区域 JVM执行java程序的时候有一个运行时数据区,每个区域有自己的作用,了解这些区域有助于我们理解JVM.JVM运行时数据区如图所示: 程序计数器 该区域 ...
- union的两个子查询是否并行
需求描述 问题:subquery 1 union subquery2,其中union左右的两个子查询是否并行. 场景:业务中性能敏感的业务,希望能加快速度,如果数据库能两个子查询并行执行,既可以节省时 ...
- Java 并发系列之三:java 内存模型(JMM)
1. 并发编程的挑战 2. 并发编程需要解决的两大问题 3. 线程通信机制 4. 内存模型 5. volatile 6. synchronized 7. CAS 8. 锁的内存语义 9. DCL 双重 ...
- ubifs笔记
第1章 UBIFS UBIFS不是工作在块在设备之上,所以UBIFS不能用于MMC之类的设备. 与传统的flash文件不同,UBIFS不是工作是块设备之上.传统的flash文件系统(如Jffs2)工作 ...
随机推荐
- Win10如何快速截屏
Win10不用QQ,如何快速截屏? 年轻的时候想截图总是需要把QQ打开,但是直到我遇到了一种尴尬的场景:就是需要我把鼠标放着标签上,才会有下一步内容出现,这就很难搞. 经过查找资料,做出一些总结. 第 ...
- 2019-10-9:渗透测试,基础学习the-backdoor-factory-master(后门工厂)初接触
该文章仅供学习,利用方法来自网络文章,仅供参考 the-backdoor-factory-master(后门工制造厂)原理:可执行二进制文件中有大量的00,这些00是不包含数据的,将这些数据替换成pa ...
- 人生若只如初见---Spring概述以及环境的搭建
Spring 是什么 Spring是由Apache开发的一种轻量型Java框架,能够更加便捷使用JavaBean(之前只有EJB才能实现) Spring的主要优势:分层架构: DAO层:(Data A ...
- SQL语句实用技巧1
--显示行号 select *, ROW_NUMBER() OVER(Order by TYPENAME ) AS RowNumber from ( select distinct TYPENAME ...
- 程序员的算法课(14)-Hash算法-对海量url判重
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/de ...
- Linux之find命令
1.find命令的作用 主要用于操作系统文件.目录的查找. 2.find命令常用参数 -name #按文件名查找 -type #按文件类型查找:b/p/c/p/l/f -size #但文件大小查找,G ...
- ThinkPHP5入门(基础篇)
ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架,自2006年诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,尤其注重开发体验和易用性,并且拥有众多的 ...
- 马拉车manacher
目的:线性查找一个串的最长回文子串 时间复杂度:O(n) len[i]表示以i为中心的回文串的半径,mx即为当前计算回文串最右边字符的最大值,p是中心点mid,mx-i和2*p-1关于p对称 http ...
- LightOJ1284 Lights inside 3D Grid (概率DP)
You are given a 3D grid, which has dimensions X, Y and Z. Each of the X x Y x Z cells contains a lig ...
- BZOJ 3265 志愿者招募加强版(单纯形)
3265: 志愿者招募加强版 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 848 Solved: 436[Submit][Status][Disc ...