OOM でメモリ ダンプを作成するように構成された Tomcat アプリケーション サーバーがあり、-Xmx1024M で開始されるため、ギガバイトが利用可能であるはずです。
今、そのようなダンプを 1 つ見つけましたが、保持されていないメモリは 260MB しかありません。ダンプが、彼が利用できるはずのサイズよりもはるかに小さい可能性があるのはどうしてですか?
OOM でメモリ ダンプを作成するように構成された Tomcat アプリケーション サーバーがあり、-Xmx1024M で開始されるため、ギガバイトが利用可能であるはずです。
今、そのようなダンプを 1 つ見つけましたが、保持されていないメモリは 260MB しかありません。ダンプが、彼が利用できるはずのサイズよりもはるかに小さい可能性があるのはどうしてですか?
Permgenスペースはヒープとは独立して管理され、全体的に十分な空きメモリがある場合でも不足する可能性があります。一部のWebフレームワーク(特にJSF)は本物の豚であり、デフォルトの構成を簡単に使い果たしてしまいます。-XX:MaxPermSize =###mで増やすことができます
システムスペースはヒープとpermgenの合計によって制約されるため、PermGenを増やした分だけヒープを減らさないと、ネイティブスレッドOOMを作成できない例外が発生する前に消費するリソースの合計が少なくなることに注意してください。
割り当てられたメモリの使用状況に関する情報のみがファイルにダンプされます。ヒープ ダンプはヒープのバイナリ イメージではなく、データ型などに関する情報が含まれており、使用可能なメモリを超える可能性があります。