|
From: Leif M. <le...@ta...> - 2004-03-18 06:57:37
|
Jennifer,
Not sure what would be different in your application between running
under the
Wrapper and running stand alone. I have never seen or heard of any
memory issues
related to the Wrapper however.
Try adding the following to your wrapper.conf file:
wrapper.java.additional.5=-Xrunhprof:depth=8
wrapper.jvm_exit.timeout=600
This will cause the JVM to write out a large profiling file on
exit. The long timeout
is to work around the fact that the JVM can appear to be frozen for
quite some time
as it is doing this.
This should tell you exactly what is using up the memory in your
application and then
where those objects are being created.
The majority of the file contains stack traces showing where in the
code objects are
created. Each of them is assigned an Id. If you then look at the
very end of the file
you will see a list of objects sorted by their instance counts. Each
row has a location
Id at the right which refers to one of the above stack trace Ids.
If you have any problems understanding what is going on the profile
file. Zip it up.
It should get fairly small. If it is less than a few MB, send it to me
directly and I'll
take a look at it.
Cheers,
Leif
Jennifer Kolar wrote:
> I am seeing out of memory exceptions well after startup.. again--
> something I never saw w/o my process being under the wrapper..
> I have yet to run the wrapped system under a profiler to look at what
> is going on more closely.
>
> I could allocate more memory, (I have a max of 96m) per process.. but
> since i am running up to 30 processes I don't want to give each too
> much...
> and again, this was never an issue before...
>
> I am still getting OutOfMemory exceptions, but they are now allowing
> restarts..
>
> Jennifer
>
>
> On Mar 14, 2004, at 9:06 AM, Leif Mortenson wrote:
>
>> Jennifer,
>> Does this solve the problems you were having with OutOfMemory
>> messages as
>> well? Were those all happening on startup?
>>
>> Cheers,
>> Leif
>>
>> Jennifer Kolar wrote:
>>
>>> That did it. I didn't remember the Stop in the wrappersimpleapp...
>>> Cool.
>>> perfect.
>>> Thanks
>>>
>>> On Mar 9, 2004, at 4:37 PM, Leif Mortenson wrote:
>>>
>>>> Jennifer,
>>>> I have been looking into this some more. I added some more
>>>> debug output to the
>>>> WrapperManager class to make it easier to debug this sort of
>>>> problem. You can try
>>>> it from CVS if you like. (SourceForge's public CVS is 24 hrs
>>>> behind the dev archive)
>>>>
>>>> Looking over the debug log output that you sent me again, I
>>>> noticed the following
>>>> line:
>>>>
>>>> INFO | jvm 7 | 2004/02/26 19:33:00 | Thread,
>>>> WrapperSimpleAppMain, handling the shutdown process.
>>>>
>>>> This tells me that the WrapperSimpleApp helper class's main
>>>> thread called
>>>> WrapperManager.stop. This will happen if your class's main method
>>>> throws an
>>>> uncaught exception. Does that sound what might be happening?
>>>>
>>>> If this is the case then I would expect to have seen the
>>>> following output in your log.
>>>> The log you posted was edited so you may have removed it. Could
>>>> you please confirm
>>>> one way or the other?
>>>>
>>>> INFO | jvm 7 | 2004/02/26 19:32:59 | WrapperSimpleApp:
>>>> Encountered an error running main: (Your exception)
>>>>
>>>> If you are trying to invoke a restart on the above exception,
>>>> it will not work because
>>>> the call to WrapperManager.stop will override the restart request
>>>> and stop the Wrapper
>>>> along with its JVM.
>>>>
>>>> Cheers,
>>>> Leif
>>>
|