aspose file tools*
The moose likes Performance and the fly likes PermGen Memory issue in WebLogic 10 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Performance
Bookmark "PermGen Memory issue in WebLogic 10" Watch "PermGen Memory issue in WebLogic 10" New topic
Author

PermGen Memory issue in WebLogic 10

Deon lim
Greenhorn

Joined: Feb 03, 2009
Posts: 8
I have issue on the permanent generation space which will increase until it hit Java.lang.OutOfMemoryError: PermGen space.


1. The Java.lang.OutOfMemoryError: PermGen space can be solved by increase the MaxPermSize. Is it same if just increase the PermSize without MaxPermSize?

2. Where can get the gc log file if -verbosegc -XX:+PrintGCDetails parameters was added?

3. How to trace unloading of classes by adding parameter -XX:+TraceClassUnloading?

4. What action can be taken if the issue still happen after increasing of MaxPermSize?


Below are some info for the server.

OS Version = Solaris 10
WebLogic Version = WLS 10 MP1
JDK Version = jdk150_11
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8997
    
    9

Here is an article on what causes PermGen problems. It links to an article on how to fix them. In my experience, third-party libraries can be the cause (I'm looking at you, Struts 2), so you may be left with no alternative than an occasional shutdown-startup cycle.


[How To Ask Questions On JavaRanch]
Deon lim
Greenhorn

Joined: Feb 03, 2009
Posts: 8
Hi,

Anyone can help on question below?
Is it mean that the maximum permanent generation size can up to 512MB if we set -XX:PermSize=512m even we did not set the *MaxPermSize*?
Deon lim
Greenhorn

Joined: Feb 03, 2009
Posts: 8
Hi Joe Ess,

Can give some example of what kind of third-party libraries can cause this issue?
Nitesh Kant
Bartender

Joined: Feb 25, 2007
Posts: 1638

hooihooi lim wrote:Hi,

Anyone can help on question below?
Is it mean that the maximum permanent generation size can up to 512MB if we set -XX:PermSize=512m even we did not set the *MaxPermSize*?


PermSize is the initial permanent generation size. Maximum size is by default 32m for client machines and 64 for servers. In this case, I *think* since you are not defining it, it would be taken equal to PermSize.
In my opinion, it is better to give MaxPermSize instead of PermSize so that you do not take the memory if not required.
Deon lim
Greenhorn

Joined: Feb 03, 2009
Posts: 8
Nitesh Kant wrote:
PermSize is the initial permanent generation size. Maximum size is by default 32m for client machines and 64 for servers. In this case, I *think* since you are not defining it, it would be taken equal to PermSize.
In my opinion, it is better to give MaxPermSize instead of PermSize so that you do not take the memory if not required.


Hi,
Thanks for the info.
Deon lim
Greenhorn

Joined: Feb 03, 2009
Posts: 8
Anyone have experience that the issue will be solved after upgrade WLS from MP1 to MP2?

Ref : http://edocs.bea.com/wls/docs100/issues/known_resolved.html
Deon lim
Greenhorn

Joined: Feb 03, 2009
Posts: 8
Hi,

Anyone know how to trace unloading of classes with JVM argument -XX:+TraceClassUnloading?
Nitesh Kant
Bartender

Joined: Feb 25, 2007
Posts: 1638

Deon lim wrote:Hi,

Anyone know how to trace unloading of classes with JVM argument -XX:-TraceClassUnloading?


I am not sure but i dont think there is a way to put all the GC debug messages like these to a file.
The traces like these gets printed on the Standard out stream.
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8997
    
    9

Deon lim wrote:Anyone have experience that the issue will be solved after upgrade WLS from MP1 to MP2?
Ref : http://edocs.bea.com/wls/docs100/issues/known_resolved.html


I don't think so. The article I linked explains why. It has to do with the way application servers load classes. They can't automatically release them when an application is redeployed and PermGen space is eventually exhausted. I have seen the same problem in WLS 10.3.
Deon lim
Greenhorn

Joined: Feb 03, 2009
Posts: 8
Hi,

Can WebLogic 10 MP1 work with JDK6?
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8997
    
    9

Here is the list of Supported Operating Systems. Select your OS from that list and you will get a page of supported JDK versions.
Per Halvarsson
Greenhorn

Joined: Aug 14, 2008
Posts: 6
Since you're running WebLogic I would consider switching to JRockit. It doesn't have permgen issues and the JVM has been optimized for WLS.
Deon lim
Greenhorn

Joined: Feb 03, 2009
Posts: 8
Hi,

Anyone can help on log below?
Is it mean that the class sun.reflect.GeneratedSerializationConstructorAccessor & class sun.reflect.GeneratedMethodAccessor not able to unload?

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor1]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor15]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor91]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor27]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor56]
[Unloading class sun.reflect.GeneratedMethodAccessor33]
Leo Gomes
Greenhorn

Joined: Jan 11, 2010
Posts: 1
Hi Deon,

Did you ever manage to find a solution or an explanation for your problem? I'm also seeing this with WLS10.

Thanks,
Leo.
H Gu
Greenhorn

Joined: Nov 10, 2010
Posts: 1
I wrote an article around my experience around this. It may be helpful and is at http://anshuiitk.blogspot.com/2010/11/excessive-full-garbage-collection.html
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: PermGen Memory issue in WebLogic 10