3

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

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

如果没有,有什么方法可以查到吗?

谢谢。

4

2 回答 2

4

有趣的阅​​读: Linux 中的 UBIFS 回写旋钮

回写函数可以通过/proc/sys/vm调用进行调整:

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

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

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

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

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

于 2011-09-08T07:45:47.943 回答
2

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

您可以fsync()在文件上使用写入后,以及时间需要多长时间。

于 2011-07-26T07:29:46.557 回答