社区
Linux/Unix社区
帖子详情
fsync()消耗时间的问题
yrbls
2007-06-22 11:47:47
在做U盘存储时,每次write()之后做fsync(),每次存储的数据都为固定的8K数据,为什么每次执行write()和fsync()消耗的时间多数约为十几毫秒,但也会出现一两百毫秒的情况,为什么时间差别这么大
...全文
1571
5
打赏
收藏
fsync()消耗时间的问题
在做U盘存储时,每次write()之后做fsync(),每次存储的数据都为固定的8K数据,为什么每次执行write()和fsync()消耗的时间多数约为十几毫秒,但也会出现一两百毫秒的情况,为什么时间差别这么大
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yrbls
2007-06-27
打赏
举报
回复
to:cceczjxy()
我每次做完fsync()是不是会自动清除缓存,那就不会出现你所说的2、3的情况,我现在每存8K都做一次fsync(),为什么所花费的时间还不一样
OstrichFly
2007-06-27
打赏
举报
回复
因为写数据快,但寻道或分配磁盘块比较慢。
如果当前文件系统为这个文件分配的文件存储布局有空余空间,磁头又恰好在要写的位置,很快,
反之要花更多的时间。
cceczjxy
2007-06-27
打赏
举报
回复
因为的系统不是只你一个程序在运行呀.
2,3两种情况是系统内核管理的.和你的程序是异步进行的.你的程序在运行,他们也在运行.
jlu3389
2007-06-23
打赏
举报
回复
mark
cceczjxy
2007-06-23
打赏
举报
回复
这和系统缓存机制及MMC有关,
在调用write把数据写入以后,实际上是写入的缓存中.
有3中情况下系统会把缓存中数据写会磁盘中:
1,调用fsync() ,sync()等强制同步函数.
2,缓存已满.
3.MMC管理分配内存是发现内存不足,也会把缓冲区内数据写出而收会缓冲区.
对于你所遇到的情况,在你调用fsync时,2,3两中情况如果已发生,那时间就很短,如果没有,往u盘上8K数据有时是很慢的.
这个时间差别,也和你的u盘写入速度有关.
【zookeeper】f
sync
-ing the write ahead log in took which will adversely effect operation latency
在这篇博客中出现了如下。我想知道这个是在干嘛,会不会对我上面的那个
问题
造成影响。因此去查看了一下。
不懂fork和f
sync
?你怕是学的假Redis持久化机制
熟悉 redis 都知道,redis 持久化有 RDB 和 AOF 两种,一种是记录数据,另一种是记录操作。 不过一方面,为了学习的纵向拓深、横向延展,提高思维开阔性和学习态度严谨性,以便足以在实际环境中对这些特性运用自如; 另一方面,为了能和面试官有料去喷, 我们必须对持久化机制做深入地探讨。 RDB 的
问题
我们先从 RDB 说起。 首先,我们都知道,RDB 是对数据的全量复制,我们一般都会在...
ext4的f
sync
性能和nodelalloc参数的分析
原文:http://blog.thinksrc.com/?p=189001 感叹归感叹,发泄完了还得继续过。 前几天忙的不可开交,周报上面竟然能列出11项,想想以前在T公司时候的清闲,现在的老板的真幸运了。 好了,言归正传。 我们的系统是使用ext4作为文件系统的,ext4怎么好呢? 主要是我对它感觉比较好,呵呵,开玩笑的。还记得第一次使用一个全新的ext4作为文件系统(不
Linux/Unix社区
23,224
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章