上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
極めて頻繁にRead/Writeしなければならないディスク上の領域があるなら、そこをRAMに置き換えることで高速化が見込めます。
なお、前のエントリで、私の環境は/dev/shmを自動的にマウントしなくなっています。

# mkdir /mnt/ramdisk
# mount -t tmpfs -o size=256m /dev/shm /mnt/ramdisk
# chmod 777 /mnt/ramdisk
$ df -h


このtmpfsという仕組みは非常に優秀で、たとえば物理メモリの大きさを超えるsizeも指定できます。
物理メモリからあふれた分はswapに落っこちます。swapも溢れるとさすがにクラッシュしますが。
また、ファイルを消したり、umountすれば自動的にメモリ/swap領域を解放してくれます。

折角なので、Bonnie++というツールを使ってDisk I/Oを計測してみます。

Debian(Lenny)なら
# apt-get install bonnie++
で、入ります。

$ /usr/local/sbin/bonnie++ -r 100 -s 200 -d /mnt/ramdisk -n 10 -q | bon_csv2html > result_ram.html

-s オプションで書き込む一時ファイルの大きさを決められるのですが、デフォルトの値は物理メモリの倍の大きさになっています(キャッシュの影響を最小限にするため)が、今回は対象がRAMディスクですので、やむを得ず小さめの値に設定しています。-s オプションは単独で使うと前記の理由で怒られるので、-rオプションを併用してください(-r に指定するのは -s の半分の大きさ)
-n オプションは試行回数、-q オプションはログ成形スクリプト bon_csv2html に対して適切な出力を与えるためのものです。

自分の環境では、シーケンシャルな書き込みがディスクの10倍近いという結果が得られました。

起動時に自動的にRAMディスクをマウントするためには、/etc/rc.localを編集し、exit0の上の部分に

mount -t tmpfs -o size=256m /dev/shm /mnt/ramdisk

という一文を挿入してください。

RAMディスク上に書き込まれたデータはどこかにバックアップしない限り、電源断や再起動によって消し飛びます。忘れないでください。

参考URL:
http://hesonogoma.com/linux/HardDiskPerformance.html
http://hesonogoma.com/linux/UsageOfBonnie.html
http://www.esbrain.com/2009/01/
http://www.kotodama.jp/blog/index.php/2008/01/31/ubuntu-7-10-amd64-ramdisk
スポンサーサイト
コメント
コメントの投稿
Contributor
Comment
トラックバック URL
URL
このエントリーの固定リンク
トラックバック
-
管理人の承認後に表示されます
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。