著者は、初期のパーマサイズと最大のパーマサイズの値を同じ値に設定すると、完全なGCが発生するのを防ぐことができると示唆していますか?
OldまたはPermanentのいずれかのメモリスペースがいっぱいであり、新しいオブジェクトまたはクラスに対応するには、関連するパラメータの値が異なる場合は、最大サイズに向かって拡張する必要があります。つまり、-Xmsと-Xmxの値が異なり、より多くのオブジェクトに対応するためにOldのサイズを-Xmsから-Xmxに増やす必要がある場合、FullGCが呼び出されます。同様に、‐XX:PermSizeと‐XX:MaxPermSizeの値が異なり、新しいJavaクラスに対応するためにPermanent Spaceを‐XX:MaxPermSizeに向かって増やす必要がある場合、FullGCが呼び出されます。 これは、常に-Xmsと-Xmx 、および-XX:PermSizeと-XX:MaxPermSizeを同じ値に設定することで回避できます。
Javaパフォーマンスチューニングホワイトペーパー:http: //mfinocchiaro.files.wordpress.com/2008/07/java-virtual-machine-neutral.pdf