63歳@パソコン教師の日記 NO.677 (2001.12.23)


 このマガジンは今日から3年目に入りました。2年間で676号を発行したわけですから、1年で338号、休刊は2週間に1日ということになりま すね。

 読者の皆さんは、「あまり無理をせずに、週に1日くらいは休んだら」と言ってくださいます。気持ちでは若いつもりでも、年齢とともに体力は確実 に衰えていきます。これからは無理をせずに、1年でも永くマガジンの発行を続けようと考えていますので宜しくお願い申し上げます。


 「ダイナミック・リンク・ライブラリー(Dynamic link library)」という言葉をご存知ですか? これは、複数のプログラムで共通に使うことがで きる関数やデータの集まりのことで、拡張子は「.dll」です。

 ファイル名を「*.dll」で検索してみると、主に「C:\WINDOWS」や「C:\WINDOWS\SYSTEM」フォルダやアプリケーションフォルダ内にあることが分かり ます。 私のPCの場合、Cドライブに約 2,000 個もありました。1個が数十KBから数MB、中には20MBという大きなものもありました。

 Windows では、アプリケーションを終了した後も、そのアプリケーションで使用された「DLL」ファイルがメモリ内に残っています。大きな「DLL」フ ァイルがメモリ内に残っていてはパフォーマンスが大きく低下してしまいます。

 これを、レジストリの設定を変更することで、回避することが可能です。
  1. 「スタート」→「ファイル名を指定して実行」とクリック、→「名前」欄に「regedit」と入力、→「OK」ボタンをクリックします。

  2. 「レジストリエディタ」の左欄で「HKEY_LOCAL_MACHINE」→「Software」→「Microsoft」→「Windows」→「CurrentVersion」とダブルクリックで  開いていきます。

  3. 「CurrentVersion」の下層にある「explorer」キーを右クリック、→「新規」→「キー」と選択します。

  4. 作成された「新規キー」の名前を「AlwaysUnloadDLL」に変更します。

  5. 「AlwaysUnloadDLL」を選択、 →右欄の「規定」または「標準」をダブルクリックで開きます。

  6. 「値のデータ」欄に半角で「1」と入力、→「OK」ボタンをクリックします。

  7. 「レジストリエディタ」を閉じ、→再起動します。
 「3」で「explorer」キーの下層に「AlwaysUnloadDLL」が存在していた場合は、このキーを削除してから新たに作成します。