SSDでプチフリ

 ようやくセットアップしたXPだけど噂通りプチフリーズが発生。
というか、想像していたよりも結構ひどくウェブ見ているだけでちょこちょこ止まる。
しょうがないので、対策を探してみる。

どうも仕組み上random writeが遅いのだが特定のSSDのコントローラではread/writeが混ざったりすると極端に遅くなるらしい。
つーわけで、対策はrandom writeを減らすことになる。
参考:Lansenの現実逃避日記

(1)ページファイルを削除

対策

コンピュータのプロパティから仮想メモリの設定を開いてページファイルの
サイズを0に変更。

結果

あまり実感するほど変わらない。

(2)Windows SteadyState

参考:ドメインパーキング

対策

SteadyStateというMicrosoftが出しているツールを使う。元は公共のPCで勝手に内容を書き換えられたりするのを防ぐためのツールで、この中のHDD保護機能を使う。
全てのwriteをキャッシュファイル(DBで言うところのジャーナルログ)に書きためて、次回起動時に適用するか元に戻すか(commit/rollback)を選べる。
ジャーナルに書きためるときにrandom writeがsequencial writeに変わるのでうれしいというわけ。

結果

インストール後、空き容量の半分=10GBがキャッシュに割り当たる。プチフリはきれいに解消♪
すばらしい、、、と思ったが起動時に変更をcommitするのに数分かかる。考えたら当たり前で、random writeはなくなったのではなく、後にとっておいただけ。つーわけで、爆速だった起動が極端に遅くなり、本末転倒感が漂う微妙な対処。

(3)アラインメントをアロケーションサイズ4KBに最適化

参考:http://www.ocztechnologyforum.com/forum/showthread.php?t=48309

対策

XPをいれるパーティションを先頭から64セクタオフセットして作成。
次にNTFSのフォーマットをアロケーションサイズ4KBで行う。

結果

未実施。
試すには
a)現在のデータを一旦別な場所に移して、上記実行、書き戻す。もしくは
b)上記実行後、再インストール。

a)を実施するには、適当なディスクイメージ系のツールと、それを動かす別PCが必要。
あいにくメインマシンにはIDEのコネクタはないので、ソフト買うだけじゃデータが移せない。
b)の場合、リカバリ領域から再インストールした際に、フォーマットが再度上書きされそう。
アロケーションサイズを指定する箇所なんかなかったので。

これで直るなら、制限の少ない方法なのでなんとかやってみたいのだけどなー。

追記1/11
1ブロック分移せばいいのかにゃーっと思って512バイト後ろにずらして見るも、
Windowsが起動せず「Starting Up...」のまま
(a) ddでダンプ

  $ sudo dd if=/dev/sda1 of=XP10GB.img bs=512 count=20971520

(b) fdiskで64からに変更、再起動
(c) 書き戻し

  $ sudo dd if=XP10GB.img of=/dev/sda1 bs=1M count=10240