This content has been marked as final. Show 6 replies
Threads take memory. As long as they exist they take memory.
What you have is not significant.
Will lowering the queue size help tp decrease the number of parked threads?Is there something wrong with your application ?
Is it failing? Is there a performance problem? Are you attempting to size your application via realistic loading?
In other words why do you think that the number of parked threads is relevant?
Yes, as I mentioned above there are OOM crashes. I am searching for ways to decrease heap consumption. If at crash 70% of threads are parked it seems like they might not have been allocated proportionally, but this is just a guess.
Edited by: n_sabina on May 7, 2011 11:49 AM
Edited by: n_sabina on May 7, 2011 11:50 AM
about the only meaningful way to diagnose an OOM is to get the heap dump and analyze it. guessing is almost always useless.
Yes, I analysed heap dump too but there was only one case when most of memory was used by something not as generic as collections. There were Mbeans listeners, this is why I am trying to find a connection between them and parked threads.
Threads consume memory, mostly for their stack, but they don't consume a significant amount of heap.1 person found this helpful
It appears you have a lot of parked threads, but I don't believe this is that much of a problem.
Having a large number of listeners will be due to either something you are doing, or something you have configured. It is unlikely there is a connection with the number of threads. I suggest you profile the memory of your application when it is running. Pay close attention to when the listeners grows. i.e. is it mostly on start up, in which case it is not causing your OOM (otherwise it would OOM on startup), does it happen continuously whether the server is doing something or not, or does it only happen when you perform requests (if you can determine the specific request that would help). This will help you isolate the cause of the problem.
Thank you Peter.