コンピューターのRAMが不足するとどうなりますか?


9

少し前に、好奇心から、大量のメモリを非常に高速に消費するJavaプログラムを作成しました。(BufferedImagesをループの配列リストに追加します。)

実行中のRAMの使用状況を確認するために、Windowsシステムモニターを開いたままにしました。

プログラムを開始したとき、RAMの使用率は非常に速くなり、6GBのRAMの約100%に達したため、コンピューターが非常に遅くなりました。約1分後、なんとかプログラムを終了でき、コンピューターの速度はゆっくりと回復しました。私の注意を引いたのは、メモリ使用量が最初にゆっくりと低下し、その後突然ほぼ0MBに落ちてから、約2〜2.5GBのアイドル状態に戻ったことです。

システムモニターでRAMの使用状況のスクリーンショットを撮りました。

ここに画像の説明を入力してください

コンピューターのメモリが不足したときに何が起こるのか、プログラムの終了直後ではなく約60秒後にアイドルに戻らない理由を誰かが説明できるかどうか疑問に思っていましたか?また、なぜ使用量がアイドル状態の使用量ではなく、何もない状態になっているのはなぜですか?



それ 0MBではありません(またはそれに近いものです)。グラフ全体のスクリーンショットを撮ったとすると、最低点は814MBです。あなたがそれをトリミングした場合、さらに。
Synetech 2012年

回答:


15

メインメモリの制限に達し始めると、オペレーティングシステムはメモリをディスクにスワップアウトして、より多くのもののためのスペースを作り始めます(これをページングと呼びます)。ディスクドライブがあるので、あなたのコンピュータは本当に遅いなっている理由はここにあるメーリングリストの低速のRAMよりもあなたがSSDにしている場合でも、それはまた、あなたのプログラムが残ってメインメモリなしで行くことができる理由です。

多くの場合、アイドル状態のメモリが最初にスワップアウトされるため、アクティブなプログラムはRAMにできる限り多くのメモリを持つことができます。これが、メモリ使用量が通常のアイドル状態を下回る理由です。システムはメモリページを再度スワップし始め、アイドルメモリは最終的にRAMでいっぱいになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.