Linux tmpfs 文件系统是否需要同步选项?

Vik*_*ras 7 tmpfs

我正在寻找有关安装 tmpfs 分区和同步选项的信息。同步使数据被转储到磁盘而不被保存在缓存中。这适用于 ext4 和其他文件系统。我想知道即使是 tmpfs 分区也需要指定同步选项,还是默认启用它,因为它是 RAM 分区。在我的选择中,如果将 ramdisk 缓存在 RAM 中会很奇怪。

tmpfs /tmp tmpfs defaults,sync,noatime,nosuid,nodev,noexec,mode=0777,size=400M 0 0

在 tmpfs 分区中是否默认启用同步?

Nil*_*ils 7

我不得不搜索一下。根据

人坐骑

同步选项只对文件系统的数量有限,不适合tmpfs的。

所以答案是:没关系,因为它被 tmpfs 忽略了。


poi*_*ige 6

同步使数据被转储到磁盘而不被保存在缓存中

“标准”Linux 手册指出:

   sync   All I/O to the filesystem should be done synchronously.
          In the case of media with a limited number of write cycles
          (e.g. some flash drives),  sync may cause life-cycle shortening.
Run Code Online (Sandbox Code Playgroud)

所以这不是关于缓存,而是关于持久性。同步写入并不意味着没有缓存(例如,writethrough 是众所周知的缓存方法,它与回写非常不同,但两者仍在缓存)。

在我的选择中,如果将 ramdisk 缓存在 RAM 中会很奇怪。

正如解释的那样,它不禁止缓存,而是禁止类似写回的行为。不过,奇怪的是 RAM 磁盘的“耐用性”。

  • 它在 2.0 内核 ramdisk 实现上很有意义,它实际上做了缓存(我知道很疯狂吧)。 (3认同)