(1) 提到“有了日志,文件首先写入日志,打孔,然后日志在准备好时将文件写入磁盘。一旦成功写入磁盘,它就会从日志中删除,打孔,操作完成。”
因此,当我创建一个文件时,它会写入日志并稍后写入磁盘。如果我创建一个 1MB 的文件,它们实际上将 2MB 的数据写入磁盘,1MB 写入日志,然后再写入磁盘。这实际上可能会缩短磁盘的使用寿命。我的问题是日志中的数据什么时候转移到磁盘?如果没有立即完成,则无法对磁盘中的数据进行后续读取。另外,当数据写入日志或磁盘时,对用户的写入是否完成?
此外,还提到由于日志记录,某些文件系统中的碎片整理较少。磁盘碎片整理与日志有什么关系?
(1) http://www.howtogeek.com/howto/33552/htg-explains-which-linux-file-system-should-you-choose/
日志中的数据什么时候传输到磁盘?
取决于两个主要因素:使用的文件系统和物理存储设备。XFS使用写屏障。EXT3使用写屏障(如果启用)。默认情况下,EXT4具有屏障。传统 HDD 使用缓存。固态硬盘可能有也可能没有缓存。最终,它是操作系统、文件系统以及底层硬件架构和规范的组合,决定了数据何时保留在存储设备上。
当数据写入日志或磁盘时,对用户来说写入完成了吗?
这还取决于所使用的应用程序和您的操作系统。Linux 具有fsync应用程序和文件系统用于将缓存数据刷新到物理设备的系统调用。并非所有应用程序都会fsync将缓存数据显式刷新到存储中。您始终可以发出sync
命令来手动刷新文件系统缓冲区。
磁盘碎片整理与日志有何关系?
磁盘碎片会影响性能,尤其是在处理块不连续的大文件时。有不同的技术可以减少碎片。例如,XFS 和其他文件系统使用allocate-on-flush技术来最大限度地减少碎片。
| 归档时间: |
|
| 查看次数: |
2099 次 |
| 最近记录: |