UBIFS将文件同步到闪存需要多长时间

时间:2011-07-25 13:55:17

标签: linux synchronization filesystems embedded-linux ubifs

有谁知道UBIFS将文件刷新/同步到闪存需要多长时间?

写入通过正常的fwrite操作发生,我想知道在没有其他写入文件发生时,写入提交到闪存之前多久。

如果没有,任何找出方法?

感谢。

2 个答案:

答案 0 :(得分:3)

一个有趣的读物: http://www.linux-mtd.infradead.org/doc/ubifs.html - Linux中的回写旋钮

可以通过/ proc / sys调用来调整回写函数:

  • dirty_writeback_centisecs - Linux定期回写线程唤醒和写出脏数据的频率。这是一种确保所有脏数据在某个时刻点击媒体的机制。

  • dirty_expire_centisecs - 脏数据过期时间。这是数据可能保持脏的最长时间。在这段时间之后,它将由Linux定期回写线程写回。 IOW,周期性回写线程唤醒每个“dirty_writeback_centisecs”厘秒并同步数据,这些数据在几天前被弄脏了“dirty_expire_centisecs”。

  • dirty_background_ratio - 最大脏数据量占总内存的百分比。当脏数据量变大时,周期性回写线程开始同步它直到它变小。即使是未过期的数据也会同步。这可用于为系统中的脏数据量设置“软”限制。

  • dirty_ratio - 写入者在添加更多数据之前首先同步现有脏数据的最大脏数据量。 IOW,这是系统中脏数据量的“硬”限制。

这样我们就可以调整回写同步时间。

答案 1 :(得分:1)

它不会是一个常数 - 它将取决于许多可变因素。

您可以在写完后在文件上使用fsync(),并计算所需的时间。