web-dev-qa-db-ja.com

制御方法RAM /スワップ使用量

アプリケーションレベルでRAM/swap使用ポリシーを制御する方法(アプリケーション)はありますか?.

私はいつも使用しているアプリケーションがいくつかあり、それらを常にRAMに留まらせたいと思っています。また、あまり使用しないアプリケーションもあり、それらはオンデマンドでスワップするためにスローされる可能性があります。デフォルトで構成されたウィンドウで最高のパフォーマンスが得られることはわかっていますが、それ以上のパフォーマンスが得られるかどうかを確認したいと思います。

Windows 7を使用しています。

18
Darqer

はいあります:プログラムに VirtualLock 関数を呼び出します:

プロセスがロックしたページは、プロセスがロックを解除するか終了するまで、物理メモリに残ります。これらのページは、ロックされている間はページファイルに書き込まれないことが保証されています。

SetProcessWorkingSetSize 関数も役立つと思います。


私がこれ(= /// =)mightが役立つかもしれないことを提案するための異端者であると考える人々のために:

メモリ内のページをロックする正当な理由があることに注意してください。正当な理由としては、ユーザーがCDバーナーを実行していて、CDバーナーが常にページアウトしているためにバッファーアンダーランが発生し、コースターが作成されていることが考えられます。そのような状況では、コンピューターの残りの部分がクロールする速度が遅くなることを意味する場合でも、ページアウトされないようにメモリバッファーをロックすることは有効です。これは、ユーザーにコースターを与えるよりも優れているためです。他にも有効な理由がある可能性があります-私の要点は、通常メモリ内のページをロックすることは推奨されていませんが、有効な状況がまだ存在し、アイデアを殺すことはないと思いますここでOPを助けます。


更新: Process HackerReduce Working Setメニューオプションをご覧ください。

9
user541686

私が見つけた唯一の方法は、ページファイルを無効にすることです。ただし、これは完全な解決策ではありません。RAM制限に近づくか超えるとエラーメッセージが表示され、クラッシュダンプが適切に保存されない可能性があるため、トラブルシューティングが必要な場合はオンに戻します。 。それ以外は、何の問題もなくWin7をページファイルなしで何ヶ月も使用しています。

私の経験:ピアノソフトウェア(1GB RAM usage))でこの問題がありました。しばらく使用しないとスワップに入れられます。数時間後にピアノの鍵盤を弾くと、スワップがサウンドを再生するのに十分な速さでリロードされないため、グリッチのような混乱が発生します(すべてのキーに腕全体を置いて強制的にリロードします!)

RAMが問題である場合は、さらに購入することをお勧めします(例:Windows 7 x64で8〜12GB)。RAMを意識する場合は、RAM =は天の恵みです。

しかし、その前に、SSDドライブを入手し、それにスワップを置くことを検討する必要があります。スワップのリカバリを大幅に加速するだけでなく、他の多くのシステムの利点を提供します。 RAMは、使用していないときはメリットがありません。

5
mtone

ページファイルの使用は、多くの要因に依存します。多くのプログラムを使用していて、同時に十分なRAMがない場合、それらの一部(またはすべて)がページファイルにスワップアウトされる可能性があります。

RAMの4GBがあり、ビデオカードや他のリソースユーザーが4GBの一部をブロックしているため、約3GBが利用可能であり、それを行わないいくつかのプログラムのみを使用しているとします。理論上はスワップファイルは必要ないはずですが、Windows Vistaと7はプログラムをディスクにスワップすることで有名です。

私は以前、Windows 7のswappinessを減らす設定を持っていました(swappinessはLinux用語ですが、Windowsにも適用されます。また、Windowsのswapの積極性を抑えるためのレジストリ設定があるため、Microsoftは不満にも同意しているようです。隠された方法)、しかし、私はそれをもう見つけることができないようです。それを検索するのが、私がここにたどり着いた方法です。私が見つけたこの設定の最良の代替手段は、固定サイズのスワップファイルを使用することです(32ビットOSでは4096〜4096、64ビットシステムでは12 GBなので、システムRAMは6 GBです)。専用パーティション。予備の7200rpm 200GBドライブがあるので、すべてのスワップパーティション(Windows XP、7、7 64ビットおよびさまざまなLinux)をこのドライブに配置します。私には効果があるようですが、YMMVです。

2
Paul

言及する価値がある:Windowsが特定のアプリケーションを頻繁に使用していることを検出すると、スーパーフェッチがそれらのアプリケーションをメモリに配置するため、アプリケーションの読み込みが速くなります。私は窓を信頼してここでそれを行うと思います。

1
CreeDorofl