ヒープに比例Java8でクラススペースを圧縮していますか?

user1074593:

私は、「圧縮クラス空間」上のOutOfMemoryErrorを受け付けております。私は、デフォルトでは1ギガバイトであり、それは無効にすることができることを、私はスペースを増大させることができることを理解します。私は何を見つけるしたいと、圧縮されたクラスの空き領域の使用量がヒープのサイズを変更するかどうかです。私は512MBのヒープを持っている場合、すなわち、それは同じの周りに使用する圧縮されたクラスのスペースとして16ギガバイトとヒープを言うの?

スティーブンC:

「圧縮されたクラスの空間」はメタスペースの一部です。メタスペースのこの領域のサイズを変更すると、直接ヒープサイズには影響を与えません。しかし、それは仮想メモリを消費し、これは通常のJavaヒープの使用可能なメモリを制限することができます。

私は512MBのヒープを持っている場合は、ヒープが16ギガバイトと言うのと同じスペースを中心に使用されますか?

多分そう。圧縮されたクラスのスペースは、クラスが含まれコード ...ではないインスタンス(オブジェクト)。通常のプログラムでは、クラスの数が使用され、その大きさが一定であり、インスタンスの数や大きさと相関しません。

過剰な使用/誤用動的プロキシアプリケーションならばこれに対する1つの例外があります。実際には、それはあなたのOOMEのの根本原因である可能性があります!

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=363297&siteId=1