分页: 1 / 1

Linux中如何确保文件的立即存储

发表于 : 2015-04-16 14:31
chenxitwo
最近在弄u盘的速度测试时,发现文件系统的缓存,导致在fwrite,fclose文件之后不能保证文件内容立即保存到u盘上,这样写速度会偏高一点。

开始试着 mount -o sync UsbDevName mount_point,但发现会造成u盘的写速度非常慢。请问各位是否有解决的方法?谢谢

Re: Linux中如何确保文件的立即存储

发表于 : 2015-04-16 14:40
poloshiao
終端機指令
sync

參閱
http://manpages.ubuntu.com/manpages/tru ... ync.8.html
sync - synchronize data on disk with memory
把內存記憶體中的數據同步到硬盤上

Re: Linux中如何确保文件的立即存储

发表于 : 2015-04-16 15:12
chenxitwo
poloshiao 写了:終端機指令
sync

參閱
http://manpages.ubuntu.com/manpages/tru ... ync.8.html
sync - synchronize data on disk with memory
把內存記憶體中的數據同步到硬盤上
sync 是将整个文件系统缓存全部同步到存储介质,这比我想要的时间更长,一样会影响速度的准确性。是否有针对特定文件的操作?

Re: Linux中如何确保文件的立即存储

发表于 : 2015-04-16 20:39
poloshiao
sync 是将整个文件系统缓存全部同步到存储介质
建議 參閱 cache 與 buffer
1. http://en.wikipedia.org/wiki/Data_buffe ... rsus_cache
2. www.tldp.org/LDP/sag/html/buffer-cache.html

Re: Linux中如何确保文件的立即存储

发表于 : 2015-04-17 9:41
chenxitwo
用open,fsync可以针对特定的文件立即回写到存储介质

Re: Linux中如何确保文件的立即存储

发表于 : 2015-04-17 14:49
astolia
你既然用open了,可以直接用O_SYNC参数

Re: Linux中如何确保文件的立即存储

发表于 : 2015-04-17 18:18
chenxitwo
感谢 poloshiao, astolia,问题已解决。