Linux下新系统调用sync_file_range
Linux下系统调用sync_file_range在2.6.17后加入内存,在RHEL 5U4后面的版本都是可用的。
这篇文章有他的介绍: http://lwn.net/Articles/178199/
也可以man sync_file_range下他的具体作用, 但是请注意,sync_file_range是不可移植的,并且只在内核2.6.17及更高版本。
sync_file_range - sync a file segment with disk
sync_file_range() permits fine control when synchronising the open file referred to by the file descriptor fd with disk.
offset is the starting byte of the file range to be synchronised. nbytes specifies the length of the range to be synchronised, in bytes; if nbytes is zero, then all bytes from offset through to the end of file are synchronised. Synchronisation is in units of the system page size: offset is rounded down to a page boundary; (offset+nbytes-1) is rounded up to a page boundary.
sync_file_range可以让我们在做多个更新后,一次性的刷数据,这样大大提高IO的性能。
著名的fio工具支持sync_file_range来做sync操作,我们在决定在我们的应用中使用该syscall之前不妨先fio测试一把。
祝大家玩的开心。
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Yu Feng 来源: Erlang非业余研究
- 标签: sync_file_range
- 发布时间:2011-03-07 22:40:04
-
[1193] WordPress插件开发 -- 在插件使用 -
[81] 解决 nginx 反向代理网页首尾出现神秘字 -
[43] web开发设计人员不可不用的在线web工具和 -
[35] Java开发岗位面试题归类汇总 -
[30] Rax 系列教程(长列表) -
[29] 手机产品设计方向 -
[29] 一句话crontab实现防ssh暴力破解 -
[27] 如何建立合适的索引? -
[27] 程序员疫苗:代码注入 -
[25] 我对学习oracle与成长的理解