64ビット版Windows7で幸せになれるか

知見

Celeronなど廉価CPUでSSDですらないWindows7機も64bitにしてメモリを盛るとそれなりに高速。

仕事道具

会社支給PCはWindows7 32bit、CeleronG1820(Haswell)にメモリ4GB。
平凡以下のロースペックではあるがOfficeや社内システムを単発で使う分には不便はない。が、Excel、PowerPoint、IEにFirefox、重いグループウェアも同時に使うような局面ではなんか遅い。

タスクマネージャで観察すると

  • 空きメモリなし
  • キャッシュ済みメモリも少ない(アプリケーションが占有しているメモリが多い)

状態ではもたつきを感じる。さらに負荷をかけ使用メモリが搭載メモリ量を超えるととてつもなく遅くなる。それこそスローダウンでHDDにアクセスしっぱなしだ。

メモリ不足による体感速度の低下は、スワップアウトが始まる/始まらない、使用メモリが搭載メモリサイズを超える/超えないの二値で変わるのではなく、空きが少なくなるにつれ、ある程度線形で性能が低下し、搭載メモリを超える使用量となると二時曲線的にスローダウンする感じ。うーんこの文章だけで伝える難しさ。

64ビット化

グループウェアが何をやってもクラッシュするようになり仕事にならず復旧ついでに64ビット版Windows7をインストールしメモリを8GB積んでみた。メモリは廃品の再利用だ。

64ビットで問題ないか

殆どのアプリケーションは32ビット版で動くので問題なく、64ビット版があるものはそれを入れた。外部デバイスは殆ど使わないし(USB使わせてくれないし)、プリンタドライバも今どき32ビットしか選択肢がないケースは少ない。

8GB積んだ意味はあったか

明らかにある。
8GBのメモリをフルに使うことなんて殆どないのは32ビット版を使っていたときから考えて当然だが、使用メモリが2.8GBを超える辺りから感じていた性能低下はなくなった。メモリはガラガラに空いて遊んでるかというと、空いた分はディスクキャッシュに回される(キャッシュに5GBとかまわってる)。32ビット版では約3GBの枠の中でメモリ使用量が増えれば増えるだけキャッシュも減る状態だった。

変化がない、効果が無いところ

殆ど変化がなかったのはコールドスタート時だ。最初は全てHDDから読み出しているから妥当な結果だと思う。HDDアクセスが落ちつく、つまりキャッシュによる先読み準備ができると、各アプリケーションの起動は速いし(2度目以降はもっと速い)、アプリケーション切り替えのもたつきも殆ど無い。
なお、高速なSSDを積んだPCであればHDDの遅さがSSDの高速性に隠蔽され効果を感じにくいことはあると思う。

終りに

プリロードとしてメモリへHDD内容を読み出すにもコストがかかっているわけだが、シャットダウンではなくスリープを使用するとキャッシュ内容も維持でき翌日すぐにフルスピードで使い始められるのでお勧めである。