 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Dave Pinkney Guest
|
Posted: Mon Apr 26, 2004 6:08 pm Post subject: verboseGC action meanings |
|
|
Hello,
I am running the following IBM JDK and have a question regarding the GC
actions:
java version "1.4.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1)
Classic VM (build 1.4.1, J2RE 1.4.1 IBM build cxia321411-20030930 (JIT
enabled: jitc))
According to the diagnostics guide for 1.4.1sr1 "Third Edition (October
2003)", action 7 corresponds to
"This is not an action. It outputs a verbosegc message to say that the
JVM is very low on heap space, or totally out of heap space."
From looking at the -verbosegc output, it appears that this is reported
as action 6:
<AF[18759]: managing allocation failure, action=6 (96247720/268433920)>
JVMDG217: Dump Handler is Processing a Signal - Please Wait.
JVMDG315: JVM Requesting Heap dump file
..JVMDG318: Heap dump file written to
/permabit/user/dpinkney/sandboxes/c/src/java/server/heapdump.20040425.1
80258.395.txt
JVMDG303: JVM Requesting Java core file
JVMDG304: Java core file written to
/permabit/user/dpinkney/sandboxes/c/src/java/server/javacore.20040425.18
0304.395.txt
JVMDG215: Dump Handler has Processed Outofmemory Signal -1.
<AF[18759]: insufficient heap space to satisfy allocation request>
What is the actual meaning of action 6?
Thank you,
Dave Pinkney
--
dave
|
|
| Back to top |
|
 |
Devaprasad Guest
|
Posted: Thu May 06, 2004 10:16 am Post subject: Re: verboseGC action meanings |
|
|
This option refers to resettable JVMs only.
Resettable JVMs use 4 heaps.
1. System heap
2. Application class system heap
3. Main heap
and
4. Transient heap.
Transient is a real heap and contains short life time objects
like non-sharaeable application classes, application objects and arrays,
primordial objects/arrays allocated by applications.
This is intended not to be GC'ed, but will be GC'ed if necessary.
One can use the -Xinitth parameter to mention the initial Trnasient heap
space size.
Note that transient heap is a part of the total heap. In a resettable JVM,
transient heap is
cleared first.
| Quote: | ---------------|
|
| Transient Heap
|
---------------|
|
| Free space
|
|
---------------|
|
|
|
| Middleware heap
|
|
|
---------------|
|
The action 6 is invoked when there is no space in the heap
and when the GC is going to free some space from the transient heap.
In this verbose GC case, the heap space ran out of memory
and transient heap could not also be cleared. This being the reason a heap
dump
and a javacore is dumped into the system. If you don't want the heap dump,
you can
export IBM_HEAPDUMP_OUTOFMEMORY="FALSE" environment variable.
Hope that answers your question.
Dave Pinkney wrote:
| Quote: | Hello,
I am running the following IBM JDK and have a question regarding the GC
actions:
java version "1.4.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1)
Classic VM (build 1.4.1, J2RE 1.4.1 IBM build cxia321411-20030930 (JIT
enabled: jitc))
According to the diagnostics guide for 1.4.1sr1 "Third Edition (October
2003)", action 7 corresponds to
"This is not an action. It outputs a verbosegc message to say that the
JVM is very low on heap space, or totally out of heap space."
From looking at the -verbosegc output, it appears that this is reported
as action 6:
AF[18759]: managing allocation failure, action=6 (96247720/268433920)
JVMDG217: Dump Handler is Processing a Signal - Please Wait.
JVMDG315: JVM Requesting Heap dump file
.JVMDG318: Heap dump file written to
/permabit/user/dpinkney/sandboxes/c/src/java/server/heapdump.20040425.1
80258.395.txt
JVMDG303: JVM Requesting Java core file
JVMDG304: Java core file written to
/permabit/user/dpinkney/sandboxes/c/src/java/server/javacore.20040425.18
0304.395.txt
JVMDG215: Dump Handler has Processed Outofmemory Signal -1.
AF[18759]: insufficient heap space to satisfy allocation request
What is the actual meaning of action 6?
Thank you,
Dave Pinkney
--
dave
|
|
|
| Back to top |
|
 |
Walter Harrier Guest
|
Posted: Wed May 12, 2004 4:43 pm Post subject: Re: verboseGC action meanings |
|
|
I'm currently trying to diagnose a problem where my server starts dumping
out heap dumps at the rate of
about 6 an hour and fills up the drive. The documentation for
IBM_HEAPDUMP_OUTOFMEMORY
implies that this defaults to false(it says to set it to true to enable).
I'm going to set it to false anyway and
hopefully will stop getting the heap dumps while I try to figure out the
problem. However, do you know
what the default value is? The platform is Linux and the JVM is
cxia32131-20031021.
Thanks,
Walter Harrier
"Devaprasad" <devaprasad (AT) in (DOT) ibm.com> wrote
| Quote: | This option refers to resettable JVMs only.
Resettable JVMs use 4 heaps.
1. System heap
2. Application class system heap
3. Main heap
and
4. Transient heap.
Transient is a real heap and contains short life time objects
like non-sharaeable application classes, application objects and arrays,
primordial objects/arrays allocated by applications.
This is intended not to be GC'ed, but will be GC'ed if necessary.
One can use the -Xinitth parameter to mention the initial Trnasient heap
space size.
Note that transient heap is a part of the total heap. In a resettable
JVM,
transient heap is
cleared first.
|---------------|
| |
| | Transient Heap
| |
|---------------|
| |
| | Free space
| |
| |
|---------------|
| |
| |
| |
| | Middleware heap
| |
| |
| |
|---------------|
The action 6 is invoked when there is no space in the heap
and when the GC is going to free some space from the transient heap.
In this verbose GC case, the heap space ran out of memory
and transient heap could not also be cleared. This being the reason a heap
dump
and a javacore is dumped into the system. If you don't want the heap dump,
you can
export IBM_HEAPDUMP_OUTOFMEMORY="FALSE" environment variable.
Hope that answers your question.
Dave Pinkney wrote:
Hello,
I am running the following IBM JDK and have a question regarding the GC
actions:
java version "1.4.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1)
Classic VM (build 1.4.1, J2RE 1.4.1 IBM build cxia321411-20030930 (JIT
enabled: jitc))
According to the diagnostics guide for 1.4.1sr1 "Third Edition (October
2003)", action 7 corresponds to
"This is not an action. It outputs a verbosegc message to say that the
JVM is very low on heap space, or totally out of heap space."
From looking at the -verbosegc output, it appears that this is reported
as action 6:
AF[18759]: managing allocation failure, action=6 (96247720/268433920)
JVMDG217: Dump Handler is Processing a Signal - Please Wait.
JVMDG315: JVM Requesting Heap dump file
.JVMDG318: Heap dump file written to
/permabit/user/dpinkney/sandboxes/c/src/java/server/heapdump.20040425.1
80258.395.txt
JVMDG303: JVM Requesting Java core file
JVMDG304: Java core file written to
/permabit/user/dpinkney/sandboxes/c/src/java/server/javacore.20040425.18
0304.395.txt
JVMDG215: Dump Handler has Processed Outofmemory Signal -1.
AF[18759]: insufficient heap space to satisfy allocation request
What is the actual meaning of action 6?
Thank you,
Dave Pinkney
--
dave
|
|
|
| Back to top |
|
 |
Devaprasad Guest
|
Posted: Mon Jun 28, 2004 6:35 am Post subject: Re: verboseGC action meanings |
|
|
Sorry.. I couldn't access the news groups for a long time now.
By default the heap dump is enabled on out of memory errors in later
JVMs. This is to facilitate the heap dump analysis on out of memory
errors.
You need to tune the JVM so as to avoid these out of memory errors.
Cheers,
Dev
Checkout the diagnostics guide at
http://www.ibm.com/developerworks/java/jdk/diagnosis/
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|