システムメモリと物理メモリの関係
 
システムリソースって?
システムリソースという言葉をよく耳にすることがあります。Win9x系のOSではこのシステムリ
ソースに制限があるため、これらの残量が少なくなるとOSの動作が不安定になることがあります。
ではこのシステムリソースとは具体的には何のことなのでしょうか?
一般的にシステムリソースと言われているのはWin系のOSでGIDリソースとUSERリソースの
2つを指します。ですが、元々はBIOSがハードウエアの起動時に割り当てる領域のことで、BIO
S上でメモリのサイズを表示すると、SYSTEMに640kbが割り当てられていることがわかる。
これらはI/OやDMAやIRQに割り当てられ、その領域を確保することによりハードウエアのルー
ティングを自動的に行うために使われています。さて、それではWin系のOSで使われているシステ
ムリソースとは具体的に何をしているのでしょうか?Win9xではカーネル自体は32bit化した
とは言っていますが、実際にはMS−DOSやWin3.x系の16bitカーネルの互換性を継承し
ていてそれらを保つために完全な32bitカーネルにはなっていないのです。ですが、その負の遺産
とも言える互換性のお陰でMS−DOSやWin3.x系のプログラムも動作させることができる(一
部動作不可のものもある)わけです。具体的にはGDIリソースはグラフィックエンジン(画面描画)
に消費され、USERリソースはウィンドウマネージャ(ウィンドウ制御)に消費されます。ですから
、複数のプログラムを同時実行したり画面の表示色数(変化)を多く使ったりするとそれぞれの領域を
多く使ってしまうことにより、残り少なくなると動作が不安定になったりします。これには根本的な解
決策はありません。というのも元々それぞれに64kbという決められた領域が割り当てられていて、
その領域を増やすことはOSの制限上できません。どちらか一方でも残りが少なくなると、どこか別の
領域を割り当てるということが出来ないため、あとは不安定になるのを待つだけとなります。
これは、Win9x系のOSではどうしようもない事で、あなたが、もしこの呪縛から逃れたいとすれ
ばWinNT系のOSに変えるしかないと思います。
 
システムリソースの残量を減らさないコツ
では具体的にリソースの残量を減らさないことは無理なのか?というとそうでもないのです。同時に実
行しているプログラム(ソフトウェア)を少なくし、タスクバーに格納しているウィンドウを極力減ら
したり、画面プロパティにある効果の視覚効果を全て使用しない等でいくらかは回避できるでしょう。
元々Win9x系のOSはコンシューマ向けのOSとして鳴り物入りでデビューしましたが、この事が
年々巨大化するプログラムの足かせとなり、今後の次世代OS開発スケジュールからは消えてしまって
います。今後はWinNT系の16bitOSと互換のないOSに切り替わっていくことでしょう。
システムリソース残量確認方法
 スータート→プログラム→アクセサリ→システムツール→リソースメータ
 を開いて確認できます。
システムリソース消費対策
 常駐ソフトを極力減らす。
 ウィルスチェック、マウスコントローラ、タスクスケジューラ、ハードウェアモニタ、電源モニタ
 オーディオコントローラ、画面のプロパティインジケータ、モデムやNICの状態表示
 等の使用しなくても問題ない常駐ソフトを極力少なくする。
 処理の重い画像系(ドロー及び映像)やデータベース系のソフトウェアの同時起動は避ける。
 IEや他のブラウザでの複数枚起動は避け、出来れば1ウィンドウでTAB切り替え出来るようなブ
 ラウザを使用する。
 
システムで使用できるメモリ容量の上限
最近のSDRAMの暴落はSDRAMを使用しているユーザにとっては朗報ではあるが、それによって
搭載する物理メモリの容量を多くしたためにシステムが不安定になる弊害が出てきている。
これはどういうことか、というのを解説します。
まず、それらには様々な要因が考えられますが、物理的(相性)要因、OSの制限的(Win9x系)
要因がほとんどだと思います。前者は物理的に交換等をしない限りは解決できません。ですが、後者は
安くなったメモリの搭載量を増やしたために起こったことで、メモリの増量=処理の高速化という安易
な図式のもとに行われているようです。余談ですが、メモリの増量=高速化は必ずしも効果が上がると
は限りません。これは、頻繁にSWAPが行われるソフトウェアに限っての効果ですし、SWAPしな
いように(ページファイルのサイズ変更等)対策をしないと今までと処理速度的には何ら変わりはあり
ません。少し横道にそれましたが、あまり知られていないのが、OSによる使用できるメモリサイズの
上限です。OSが制御できるメモリのサイズは無限ではありません。Win9xに限って言えば上限は
実サイズで1GB未満となっており、これ以上のサイズのメモリを搭載すれば、システム異常となって
しまいます。具体的にはそれまで問題なかった起動が1GB以上を搭載したとたんに「十分なサイズの
メモリがありません。」のようなメッセージが出てうまく起動できなくなってしまいます。ですから、
使用するメモリのサイズを制限してやる必要があります。せっかく大容量のメモリを搭載していても制
限して一部しか使わないのはもったいないので、最初から無駄な容量のメモリを買わないことをお勧め
しますが、Win2k等とDualブートしていてどうしてもという方にはSystem.iniを書
き換え制限する方法を教えますので、試してみてください。
搭載前の変更方法
 スータート→ファイル名を指定して実行→SYSTEM.INIを開く。
 [386Enh] の行の下に、
 MaxPhysPage=30000と追加し、上書き保存して終了し、再起動する。
搭載後の変更方法。
 Win9x用起動ディスクを用意し、DOSで起動する。
 A:\ でプロンプトが返ってくるので、
 A:\ edit C:\windows\system.ini と入力し、SYSTEM.INIを開く。
 [386Enh] の行の下に、
 MaxPhysPage=30000と追加し、上書き保存して終了し、再起動する。
以上の要領で、回避は可能ですが、根本的な解決にはならないので、大容量のメモリを有効に使いたい
のであれば、WinNT系のOSへの変更をお勧めします。
 
ホームへ
この書かれている内容を対策として反映したために起こった動作不良等には責任を負いませんので
自己責任のご理解をお願いします。
不明点や疑問点は掲示板か、こちらまで。
このページへの無断直リンクや無断転載及び引用等は固くお断りいたします。
Copyright らふてぃ 2001