2009/05/22

メモリークリーナーを調べてみた

つい最近、世の中にメモリークリーナーというツールがあると聞いて調べてみた。
640KBの壁(98じゃなくてDOS/Vでした)で苦しんでいた世代からすると、Windows2000やWindowsXpの時代に何でメモリークリーナーが必要なんだ?
と思ったら、スワップ処理のチューニングを、実メモリを空ける様に設定する為の物だった。

実メモリがパンパンになったら、HDD上に用意されたスワップ(仮想)メモリに待避するというのは、PCとかMacをある程度知っている人なら分かると思いますが、通常はシステムが自動的にやってくれます。但し、自動的に動くと言うことは、自動で動く為の設定がされているという事で、通常はシステムが開いたプロセスのイメージやデータを、可能な限り実メモリに置く様に設定されている様です。細かい仕様を見たことは有りませんが、使用頻度など色々なパラメーターを使用して、「最適」に実メモリを運用してくれているはずです。

メモリークリーナーを使う事で、定期的(x分置き)に非アクティブなプロセスを、実メモリから仮想メモリにスワップし、現在アクティブなプロセスのみ実メモリに存在する様にして、次にアクティブになるプロセスの為に予め実メモリを空けておく。
という事が出来るようです。

けどね。

私からすると、仮想メモリにスワップする必要の無い処理にCPUタイムを消費される気がして無駄にしか思えないのです。
確かに、実メモリがパンパンの状態で、実メモリを空けてから、仮想メモリに待避したプロセスか、新しいプロセスを開くのは、メモリークリーナーを使う場合と比べると時間が掛かりますが、今の時代1GBでスワップが定常的に発生する状態なら、実メモリの量を気にするよりも、実メモリ上にあるプロセスが使うCPUタイムの方が気になって、不要なプロセスを落とすだろうと・・・。

スワップしなくていいプロセスをスワップアウトして、結局スワップする必要なかったのに、再度スワップインとかあまりにも無駄です。実メモリが足りない状態ならそうも言ってられないのだろうけど、それなら実メモリ増やそうよ・・・。

今の時代、512MBとか256MBでシステムを動かす事も無いだろうし、もしそうなら、買い換えも視野に入れても良いのではないか?と思います。
--
メモリの使用状況が常に知りたくて、タスクマネージャーでは画面を占める範囲が大きいのが嫌ならメモリークリーナーもありかもしれません。

0 件のコメント: