ページファイルを擬似SSDに移動してみた

トランセンド製 4GB 300倍速 CFカード「TS4GCF300」とIDE-CF変換アダプタを買ってみたぞ。

CFカード約4,000円で変換アダプタ400円でした。



繋げてPCに内蔵。
念のため半田面やCFカードはガムテープで保護しております。



ベンチマークは以下の通り
Windows Vista上のフォーマットツールで、ファイルシステムNTFSでアロケーションサイズ4KBでフォーマット
念のため、USB接続のカードリーダに接続してパナソニック製SDフォーマッタでフォーマットしたがスコア変わらず。


んで、なんでこんなもん買ってきたかというと、ずばりページングファイルをシステムドライブから移動させるため。
システムファイルとページファイルが同時にアクセスしてもパフォーマンスが落ちないだろうし、ページファイルがシステムドライブから無くなるので空き容量も増えて断片化も防げるはず。
よくWindows高速化とか言ってページングファイルOFFを推奨しているところが多数あるけど、少なくともページングファイルOFFは動作が不安定になる、キャッシュ用に確保する物理メモリの空き容量が少なくなって逆にパフォーマンス落ちる可能性があるのでしない方がいい。
そもそもWindowsのメモリ管理はページファイルを使用することを前提にして設計されているし、勿論アプリケーションもページファイルがあることを前提に作成されている。
物理メモリが大量にあっても、ある程度メモリを食うアプリやデータが読み込まれた場合、しばらくアクセスの無いメモリ領域はページファイル上に移動しておいて、他のアプリやキャッシュ用に回すというのがWindowsのメモリ管理みたい。
特にメモリ使用量の多いゲームや動画・画像編集用のソフトだと、ページファイルOFFだと動作が不安定になったり、最悪動作しないというケースが結構ある。
8GBも物理メモリ積んでる自分の環境でも、今までページファイル全く使われてなかったのが、ゲーム起動させると空き容量が6GB以上あるにも関わらず、ページファイルを使い始めるのを確認できた。ただし、極端に容量使われるわけでもなく、どんなに使われても1GB未満。


CFカード(フラッシュメモリ)は通常のHDDに比べて

  • コンパクトで設置に困らない(空中置きも可能)
  • 低発熱、低消費電力
  • 圧倒的なランダム読み込み速度

といった利点もあるものの、

  • 容量単価が高い
  • 書き込み回数制限がある(書き込みが多いとすぐ壊れる)
  • 書き込み速度が遅い


ただ、今回置いておくページファイルはマイクロソフトのWindows開発エンジニアチームのBlogによると、

何千もの遠隔測定データを観察し、ページ ファイルの読み取りと書き込みに注目した結果、次のことがわかりました。

  • pagefile.sys 読み取りは、約 40 対 1 で pagefile.sys 書き込みを上回る。
  • pagefile.sys 読み取りサイズは、通常非常に小さく、67% が 4 KB 以下、88% が 16 KB 未満。
  • pagefile.sys 書き込みは比較的大きく、62% 以上が 128 KB、45 % がちょうど 1 MB。

実際、通常のページ ファイルの参照パターンおよびそれらのパターンに対する SSD の持つ有利なパフォーマンス特性を考えると、SSD 上に配置するのにページ ファイルより適したファイルはほとんどありません。

とのことでSSD(CFカード)にはページファイルがかなり適しているとのこと。
また壊れてもCFカードなので入手性が良く、価格も4GBなら5,000円以下で買えるので問題ない。
モノホンのSSD品は容量もパフォーマンスもいいけど、まだ高いと感じるのでCFカードで我慢。


ということでかなり説明が長くなっちゃったけど、CFカードにページファイルを3GB分確保してみた。
結果は・・・

  • 当たり前のようにシステムドライブの空き容量が増えた(数GB分だけだけど)
  • ある程度PC使った後、PerfectDiskでディスクチェックすると「オフライン最適化しろやゴラァ」となっていたが、「最適化の必要はありません」になった。
  • 最初、数GB空き容量増えただけだったがPerfectDiskで通常のデフラグしたら、何故か10GB近く空き容量が増えたwww
  • Windows Vistaの起動時間が明らかに短くなったような。

コストパフォーマンスでいうとあまり高くないかもしれないけど、まあ目的通りにいったからいいか。