java/116461: java.lang.OutOfMemoryError: PermGen space

Nick Johnson freebsd at spatula.net
Wed Sep 19 09:40:07 PDT 2007


The following reply was made to PR java/116461; it has been noted by GNATS.

From: Nick Johnson <freebsd at spatula.net>
To: bug-followup at FreeBSD.org, rafaelbascon at gmail.com
Cc:  
Subject: Re: java/116461: java.lang.OutOfMemoryError: PermGen space
Date: Wed, 19 Sep 2007 09:21:48 -0700 (PDT)

 The most obvious solution is to increase the amount of permanent 
 generation space.
 
 java -XX:MaxPermSize=64m
 
 http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp
 http://java.sun.com/docs/hotspot/gc1.4.2/faq.html
 
    7.
 
       How should the permanent generation be sized?
 
 The permanent generation is used to hold reflective of the VM itself such 
 as class objects and method objects. These reflective objects are 
 allocated directly into the permanent generation, and it is sized 
 independently from the other generations. Generally, sizing of this 
 generation can be ignored because the default size is adequate. However, 
 programs that load many classes may need a larger permanent generation.
 
 
    8.
 
       How can I tell if the permanent generation is filling up?
 
 
 Starting in 1.4.2 -XX:+PrintGCDetails will print information about all 
 parts of the heap collected at each garbage collection. For a full 
 collection
 
 
 [Full GC [Tenured: 30437K->33739K(280576K), 0.7050569 secs] 
 106231K->33739K(362112K), [Perm : 2919K->2919K(16384K)], 0.7052334 secs]
 
 
 this example shows that little was collected in the permanent generation 
 (it went from 2919K used before the collection to 2919K used after the 
 collection) and the current size of the permanent generation is 16384K.
 
 
    9.
 
       How can I increase the permanent generation size?
 
 
 Use the command line option -XX:MaxPermSize=<desired size>


More information about the freebsd-java mailing list