web-dev-qa-db-ja.com

フリーアップRAMユーティリティはRAMをどのように解放しますか?

プログラムによって使用されたRAMを破棄しますか、それともハードディスク上のページファイルに転送しますか?それとも、アドレス指定されていないRAMをクリーンアップするだけですか?

14
cpx

RAMフリーのユーザーは、他のプログラムにほとんどのページをディスクにスワップアウトするように強制しています(多くの場合、大量のメモリを割り当てることによって)。それらのプログラムがしばらくの間それらのページを必要としない場合(たとえば、それらが最小化されたウィンドウであり、何もしていない場合)、これはより多くのRAMを解放します。通常、ディスクに何をプッシュするかを制御することはできません。何かがそうなのです。

問題は、RAMを空けたままにしておくこと自体は、まったく役に立たないことです。別の実行中のプログラムがそのRAMを必要とした場合、ページングは​​、実行したときではなく、その瞬間に発生します。そして、ディスクにプッシュされたプログラムに何かを実行させたいと思った瞬間(たとえば、Facebookでステータスを確認するために5分ごとにウェイクアップした場合)、スワップインして実行します。それ。

ラムの問題が本当に発生する場合は、いくつかのオプションがあります。

1)より多くのRAMを取得します。単純、直接、おそらく高価、または(OSとハードウェアの構成によっては)不可能。

2)実行するプログラムの数を減らします。実行中のものが少ないほど、実行中のものに使用できるRAMが多くなります。これには、リソースをあまり消費しないユーティリティの選択も含まれます。たとえば、IMユーティリティを開いたままにすると、時間は、すべての派手な機能を備えたものではなく、メモリフットプリントが小さいものを選択してください。

3)より高速なディスクを入手します。これは実際には(明らかに)RAMを増やすわけではありませんが、ページングファイルに高速のディスクを使用すると、メモリの内外でページをスワップするのにかかる時間が短くなり、目立たなくなります。

他にリアルオプションはありません。

18
Michael Kohne

基本的に、RAM free'ersが行うことは、大量のRAM Windowsに他のプログラムをディスクにスワップさせてから、RAM彼らは予約しました。これを行うにはさまざまな戦略があるかもしれませんが、私は内部に畏敬の念を抱いていません。

もっと物理的なRAM可能であれば、それが可能であれば、willアウトスワップされたプログラムがメモリのシェアを取り戻す必要があるときが来るので、取得することをお勧めします...

11
Jawa

オペレーティングシステムをだまそうとすることで、何かが行われているような印象を与えます。そのようなアプローチは、ほとんどの場合、ピーターを奪ってポールに支払う場合です。

または...長期的に何もせずに何かを取得しようとすると...何も取得しません。

言い換えれば、私はこの種のことを短所と見なしています。 RAMが不足している場合、長期的な技術的解決策としては、追加購入するのが最善です。

8
quickly_now

他の回答と同様に、RAMDoublerのような古いツールはメモリ内でRAMを圧縮し、アクセス時のCPUコストは明らかでした。アクセスコストのため、これを行う人はもういないと思います。

編集:誰も.. Apple のかなり外側古いものはすべて再び新しいです。より具体的には、CPU速度とメモリテクノロジ(特にディスク)の速度の差が非常に大きいため、特にディスクを打つための電気(読み取り:バッテリー)コストを考えると、これがより良いオプションになりました。

2
Rich Homolka

Windowsは、すべてのアプリケーションに未使用のデータを解放するように求める「LOW_MEMORY」メッセージを送信します。 SQLサーバーとファイルのキャッシュがクリアされるため、余分な空き容量が多くなります。これにより、起動時に1ギガバイトのスペースを簡単に使用できるWindowsファイルキャッシュもクリアされます。

大きなメモリチャンクを割り当てることは、LOW MEMORYメッセージをトリガーする簡単な方法ですが、よりスマートなシステムが導入されている可能性があります。

2
Barfieldmv

通常、システムはより多くのページングファイルとより少ないRAMを使用するように強制されます。 RAMはハードディスクよりも高速であるため、最悪の場合、速度が低下します。せいぜい、より多くのRAMが利用可能ですが、余分な速度。