私はTOPを使用してJavaプロセス(Oracle Weblogic)を監視してきました。
- 1時間ほど経過すると、RESは通常の2,097,152KBからほぼ10GBに増加し、0に低下し、2,097,152KBに戻ります。
- この期間中、VIRT メモリは 6,904,832 KB に維持されました。
- %MEMはRESが増加すると増加し、RESが減少すると増加し続けます(システムには32GBのRAMがあります)。
私はRES、VIRT、および%MEMの多くの説明を読みました。男性相、そのどれにも適していません。特にRESと%MEMは完全に相関関係がなければならず、RESは決してVIRTより高くすることはできないと思います。
何が起こっているのかを説明できる人はいますか?
時間の経過とともに、動作を示す図を下に追加しました。
関連するのは、これがロードバランシングシステムの1つのノードであり、他のノードが何も起こっていないかのように続くということです。私はこれが別の日にあるノードで6回発生するのを見ました。 RESが低下すると、エンドユーザーの応答時間に小さくて短いスパイクが発生します。両方のノードは同じに非常に近いです。管理者はJavaプロセスにさまざまなメモリフラグを設定しました。 Verbose GC がオンになっており、次の期間は GC 全体が発生しません。