ext3ファイルシステムにおいてディスクに書き込まれるタイミング・周期について


ext3ファイルシステムを組み込みLinuxで使用しています。  
ジャーナリングモードはorderdモードを使用。  
突然の電源遮断でファイルがディスク(CFを利用)に残らない現象を確認しており、Linuxの仕組みを調査しています。  
私の認識が合っているのかご指摘をお願いします。

  1. C言語でfopen->fwrite->fcloseの手順でファイルに書き込む(この時はまだメモリ上)
  2. Linuxがext3に書き込む(30秒周期、この時はまだext3の一時ファイル？)
  3. ext3がディスクにコミット(5秒周期、これでやっとディスクに残る)

2はLinuxのシステムコールsyncを呼ぶことで即座に行うことが可能。  
しかし3があるので2が終わったあとでも書き込まれないこともある。

このような認識です。  
また、2や3の周期は調整可能でしょうか？可能であれば設定方法も教えて頂けると幸いです。

よろしくお願いします。




知りたい情報がmetropolis様のコメントで得られました。

### ext3がディスクにコミット について

man の `ext4(5)` にある `Mount options for ext3` には `commit=nrsec: Start a journal
commit every nrsec seconds. The default value is 5 seconds.` と書かれています。

### Linuxがext3に書き込む について

`/proc/sys/vm/dirty_expire_centisecs` になります(`pdflush` スレッドの実行間隔)。今回の件では
`vm.dirty_ratio` と `vm.dirty_background_ratio` を調整する(値を下げる)方が良いかもしれません。




知りたい情報がmetropolis様のコメントで得られました。

### ext3がディスクにコミット について

man の `ext4(5)` にある `Mount options for ext3` には `commit=nrsec: Start a journal
commit every nrsec seconds. The default value is 5 seconds.` と書かれています。

### Linuxがext3に書き込む について

`/proc/sys/vm/dirty_expire_centisecs` になります(`pdflush` スレッドの実行間隔)。今回の件では
`vm.dirty_ratio` と `vm.dirty_background_ratio` を調整する(値を下げる)方が良いかもしれません。

