2011-04-08 71 views
1

我一直在玩UBIFS一些。我写的一个测试是压力测试,看看系统中的磨损平衡是否按预期工作。简而言之测试UBIFS:意外的行为(磨损平衡)

  • 写入随机数据的文件到位于UBI卷
  • 上的文件系统验证文件内容
  • 删除

这是测试完成的文件一定次数(约20万次)。 “强调”的UBI交易量被安装在另一个UBI交易量上。正如预期的那样,“强调”的Ubi量的最大擦除次数增加了。我还注意到,安装位置的UBI音量的最大擦除次数也增加了。我不会期待这一点。

  1. 任何人都知道可能会导致这种情况吗? UBI中的东西?或者Linux内核中的一些机制(如日志记录)?

  2. 有没有人看到这种类型的行为与其他文件系统实现磨损平衡?

回答

1

系统中的两个进程通过Unix Domain Socket进行通信。这个套接字是在“挂载”UBI卷中创建的(我知道这不是一个好的位置)。当我将该文件移动到基​​于RAM的位置(即/ tmp)时,挂载UBI卷的写入停止。在压力测试期间,插座已经存在,但未被使用。最好知道为什么文件系统认为每次同步后需要写入文件。

1

首先猜测是,访问时间记录被打开,或也许修改时间,如果测试是在“强调”卷的根目录正在做。最有可能的访问时间 - 使用-noatime挂载外部文件系统(实际上可能是两者)。

+0

好主意,但我在mount的手册页中找到了这个:mount options for ubifs: “UBIFS是一个在UBI卷上工作的闪存文件系统,请注意,atime不受支持,并且始终处于关闭状态。 “ – waffleman 2011-04-08 19:32:42

+0

然后我会假设它是一些其他的数据写入 - 这是一个正在运行的Linux系统;各种东西写入磁盘(特别是但不限于/ var)。你可以使用unionfs或其他覆盖文件系统在ubif上挂载一个tmpfs/ramdisk来吸收写入,然后让你看看写入的内容和由谁写的 – jesup 2011-04-08 23:51:14