■ レジストリ肥大破壊実験
アプリケーションをインストールすれば、レジストリには新しい情報が記録され、サイズが大きくなる。では、どこまでもレジストリは大きくなるのだろうか。あるサイズを境に、急にアプリやOSの動作に異常を来すようになることはないだろうか。
この実験は、レジストリを故意に肥大させ破壊に至らせる目的で、アプリケーションをひたすら導入し続けた実験の結果(経過?)である。
実験環境:
・PC-9821Xa7(K6-2-333MHz/96MB/U-SCSI 4.3GB)
・Windows 95 upgrade(ver 4.00.950)
実験手順:
・アプリケーションの「導入直後」と、「各種設定後」のレジストリサイズを記録する。
・アプリケーション導入時には、カスタムインストールを選択し、サンプルやヘルプなどレジストリに影響を殆ど及ぼさないものは極力組み込まず、モジュールやプラグインは全て組み込むようにする。
・「導入直後」とは、インストールが完了し、一度再起動した後の状態である。
・「各種設定後」とは、アプリケーションの環境設定を終え、備えている機能を一通り使用した後のことである。
・ハードディスクの容量が不足してきたら、アンインストールせず、適当なアプリケーションのフォルダを「ごみ箱」に放り込む。故意にレジストリにゴミを残すため。
Windows95導入直後のレジストリサイズは
SYSTEM.DAT = 543,544 bytes
USER.DAT = 45,088 bytes
であった。
導入したソフトウエアは、Internet Explorer2〜4、Netscape、DirectX、FinalRealityなどのフリーソフト、雑誌付録CDに収録の体験版に加え、一時的に借りたものを合わせて、メモに残してあるものだけで67。統合パッケージであっても、導入作業が1回なので1つとして数えている。個人作成のフリー・シェアソフトを適当に使ったこともあり、実行ファイル単位でみるソフトウエアの総数は100を越えるかも知れない。
SYSTEM.DATのサイズが3MBを越えたあたりから、Windowsの起動とアプリケーションのインストールに若干のレスポンス低下を感じたが、苦になるほどではなかった。
実験に用いたハードディスクを別の用途に使う必要が出てきたため、実験を途中で終了した。最終的なレジストリサイズは
SYSTEM.DAT = 6,175,936 bytes
USER.DAT = 669,580 bytes
になっていた。
結論、「レジストリは、サイズを大きくしただけでは、壊れることはない」。私の知る限りで平均的なレジストリサイズは、SYSTEM.DATが1〜2MB強、最大でも3MB余りであった。これに比べて、ということである。
しかし、レジストリの肥大によって不具合が出る場合も事実として存在する。それは何が原因かを考えてみると、
・インストールしたソフト同士の相性
・CPUの処理能力不足
・メモリ不足
・ハードディスクの転送能力不足
・導入したソフトの連続使用による、レジストリデータの断片化
・導入したソフトの不具合?
マシンの処理能力も関係すると考えたのは、PC改造の記録でも書いたが、テストに使用したマシンが買った状態にまだ近かった頃、MOにWindows95をインストールして、運用できなかった失敗による。Windows95では、処理が遅いというだけで、システムファイルが壊れたりするのだ。
レジストリデータの断片化の詳細についてはここでは触れないが、これがレジストリを破壊する一番の原因かも知れない。実は導入済みのアプリケーションを繰り返し使っているだけでも、レジストリはサイズを増す仕組みを有しているのである。