On 06/14/2012 07:21 PM, Kevin Mooney wrote:
One way we launch our eclipse
is in a headless mode (no UI) for command line execution
support. Shortly after process startup we experience
OutOfMemoryError. This is running on Windows 7. The relevant
stack trace for the current thread is shown below. Any ideas
why this is happening?
Got to agree with Jesse. A stack trace of a thread at some point in
time is not guaranteed to be indicative of anything that caused an
OutOfMemoryException, it's just indicative of what that thread was
doing at the point in time you captured the stack trace. I'd also
question your use of the phrase "current thread" - what makes you
think the thread you've captured a stack trace for is relevant?
jstack can show you all the threads and their various stack traces
at the point of capture.
Try using jmap shipped in your JDK to get a dump of JVM memory
content, and analyze the dump with JConsole or jvisualvm to figure
out what objects are allocated and in what quantity. From that you
may be able to determine what allocated the objects and thus lead to
your memory leak. It's not easy, though, don't expect a big
flashing arrow pointing to a line of code.
Nick
|