19得票4回答
如何在POSIX系统中持久地重命名文件?

在POSIX文件系统中,正确的持久重命名文件的方式是什么?具体来说,我想知道在目录上进行fsync的方法。(如果这取决于操作系统/文件系统,我正在询问Linux和ext3/ext4)。 注意:StackOverflow上有其他关于持久重命名的问题,但据我所知它们没有涉及到对目录进行fsync...

7得票2回答
为什么在Linux内核3.1.*上使用fsync()比内核3.0上要花费更多时间?

我有一个测试程序,在Linux内核3.1.*上大约需要37秒,但在内核3.0.18上只需要1秒(我只是在之前的同一台机器上更换了内核)。请给我一些提示,如何在内核3.1上改进它。谢谢! #include <stdio.h> #include <stdlib.h> #i...

36得票3回答
没有使用fsync()的rename()函数是否安全?

在调用rename(tmppath, path)之前不调用fsync(tmppath_fd),是否安全? 我希望路径始终指向一个完整的文件。 我主要关心的是Ext4。在所有未来的Linux内核版本中,重命名(rename())承诺是安全的吗? Python中的使用示例:def store_...

8得票3回答
在Linux中进行Git clone时出现fsync输入/输出错误

我正在尝试克隆tensorflow/models存储库。我使用ssh连接到远程机器。我尝试了很多可用的建议来修复此问题,但都没有起作用。 git clone --recursive https://github.com/tensorflow/models.git Cloning into '...

7得票2回答
在关闭文件之前是否需要使用os.fsync()?

"Python的file.flush()到底是做什么的?"说你应该先执行f.flush(),然后再执行os.fsync(f.fileno())以确保数据被写入磁盘。 此外,"在Python中,close()是否意味着flush()?"声称f.close()意味着flush()。 现在,问题是...

7得票4回答
大文件的Windows fsync (FlushFileBuffers)性能

根据确保数据在磁盘上的信息(http://winntfs.com/2012/11/29/windows-write-caching-part-2-an-overview-for-application-developers/),即使发生例如停电等情况,似乎在Windows平台上需要依赖其“fs...

73得票6回答
fflush和fsync之间的区别

我以为fsync()会在内部执行fflush(),所以在流上使用fsync()是可以的。但是当在网络I/O下执行时,我得到了一个意外的结果。 我的代码片段:FILE* fp = fopen(file, "wb"); /* multiple fputs() calls like: */ fpu...

7得票2回答
Windows下使用"fsync"(FlushFileBuffers)的写入I/O性能解释/信息查询

这个问题是我之前发布的一个问题的后续,链接如下:Windows fsync (FlushFileBuffers) performance with large files。在那里我找到了一个可能的解决方案,但也产生了新的问题。 在对fsynced写入进行不同场景的基准测试时,我发现了一些令人...

9得票3回答
强制在X秒内只进行一次写入/同步到磁盘操作

我担心在完全空闲的系统上,我可以通过磁盘LED和iotop看到每隔几秒钟就会出现大量的写入活动,主要来自Chromium进程。这种高强度的写入活动毫无意义,特别是使用固态硬盘更加不应该如此。对于我来说读取并不是问题,因为我的20GB RAM笔记本电脑有丰富的磁盘缓存。 commit选项(默认...

11得票1回答
“sync”和“syncfs”系统调用是否映射到FUSE的“fsync”调用?

FUSE API并没有暴露出文件系统级别的sync调用,只有fsync和fsyncdir。这是否意味着当调用sync(或在FUSE挂载点内调用syncfs)时,内核会在所有FUSE挂载的文件系统上对所有打开的文件调用fsync?还是有不同的语义?