Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个多线程代码,需要从不同的线程写入日志。为了提高效率,我为线程设置了一个内存块,以便通过互斥锁同步写入它。但是我做了一个简单的测试,似乎写入硬盘的速度也很快。我正在使用Linux。不确定写入硬盘驱动器是否实际上更快或者我做错了什么?
您可能有系统缓冲区缓存效应,隐藏了磁盘 ios 的实际成本,因此 2 个测试之间没有差异。
它还取决于您现在使用的文件系统的类型。例如,ext4 fs 支持所谓的“懒惰”写入。您可以通过传递给您的挂载选项来切换此选项。
data=writeback.
这意味着文件的元数据可以在文件写入后延迟写入。这不会导致文件系统损坏,但可能会导致最近的更改在发生崩溃时丢失(因此您可能会跳回到过去)。结果,将推迟真正写入磁盘。而且您的测试可能不那么正确。