-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Jan,

On 7/24/13 12:34 PM, honyk wrote:
> On 2013-07-23 Christopher Schultz wrote:
>> On 7/22/13 3:11 PM, honyk wrote:
>>> I am reusing my recent thread of not related subject with some 
>>> updates...
>>> 
>>> On 2013-06-28 Christopher Schultz wrote:
>>>> On 6/27/13 5:17 PM, honyk wrote:
>>>>> On 2013-06-27 Christopher Schultz wrote:
>>>>>> On 6/27/13 4:31 PM, honyk wrote:
>>>>>>> I am constantly encountering PermGen errors despite
>>>>>>> quite high PermGen limit (even 512m) and many options
>>>>>>> set - approx once a week under not heavy load.
>>>>>> 
>>>>>> Like what kinds of options? What kind of load? What does
>>>>>> the error look like? Are you re-deploying your webapp
>>>>>> without restarting Tomcat, or do you bust PermGen even
>>>>>> with a single deployment?
>>>>> 
>>>>> Tomcat runs as service using these Java opts (tomcat7w.exe)
>>>>> - single line
>>>>> 
>>>>> -Duser.language=en -XX:MaxPermSize=512m
>>>>> -XX:+DisableExplicitGC -XX:+CMSClassUnloadingEnabled
>>>>> -XX:+CMSPermGenSweepingEnabled
>>>>> 
>>>>> Originally I used Apache JkMount/Worker to hide that port 
>>>>> number. In that case there were listed these errors in the 
>>>>> tomcat err log: Exception in thread "ajp-bio-8009-exec-7" 
>>>>> java.lang.OutOfMemoryError: PermGen space
>>>> 
>>>> I recommend that you run with
>>>> -XX:+HeapDumpOnOutOfMemoryError and possibly also with
>>>> -XX:HeapDumpPath=[path to where you want your heap dumps to
>>>> go]. If/when your service busts PermGen, you should be able
>>>> to inspect the dump and see what all the java.lang.Class
>>>> objects are. I suppose it's possible that you have a lot of
>>>> intern'd String objects as well (if you are on Java 1.6 or
>>>> lower... you didn't say), but it's usually java.lang.Class 
>>>> objects.
>>>> 
>>>>> Now I use proxypass like this (hoping this is preffered
>>>>> way): ProxyPass /my-app ajp://localhost:8009/my-app
>>>>> 
>>>>> and in this case I can see just Exception in thread 
>>>>> "ajp-bio-8009-exec-4" without any details (but I suppose it
>>>>> is the same PermGen one)
>>> 
>>> I've set that recommended options, but when that 
>>> 'ajp-bio-8009-exec-NN' exception is thrown (recorded in the
>>> tomcat err log), no heap dump is created in the specified (and
>>> existing) folder:
>>> -XX:HeapDumpPath=C:\DataStorage\tomcat-heap-dump
>> 
>> What was the original thread's subject line? It's hard to get
>> the context of your question from what you have included, here.
>> Remember, nobody is paying as close attention to your problem as
>> you are...
> 
> Sorry for this confusion. But this is rather a completely new
> topic.
> 
> Briefly, if there is just 'ajp-bio-8009-exec-4' exception without 
> further details in the tomcat error log, can I somehow get those 
> details? Should I change the log level somewhere?

This is what I'm trying to get you to describe: what is
"'ajp-bio-8009-exec-4' exception"?

> Now I know it was really because of insufficient PermGen. Maybe in 
> this case not all exceptions were 'written' to the log properly...

There is no detail when you get an OOME: PermGen error. You might get
a stack trace but it's useless because the whole thing is
non-deterministic. The GC is what failed, and that's (mostly) a
non-Java components so there is no stack trace to be had.

> I am still curious. It could be useful for future reference.

What other information are you looking for? How big the PermGen is?
You can get everything you need from a heap dump. You can configure
the JVM to dump the heap on OOME. Google is your friend.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJR8ZrnAAoJEBzwKT+lPKRY+asP/38GLq9VpkMEsK5WTuAzsfLh
4XoL8riuimphqMTAHlcpBYsPCIk9wfoAZiaECtAs/Mq5wUHAyy9jCNZrcfS+OOgu
Sq5JUItiPyvAQgcibV0HqwkUpqHcZaefl1k0atoYj4UJ4HIQrKULb1UOXTXMtcKL
9abhXC+NSqPYlM63aEj9rxUCFbcwqoby9/27wYajrCicTVFLORIQeKTqjeSt+LVn
LzaxHfoMD/QdpYhcT6XsAKX/McGXedGlODzb4P0rbN7Q7/e8BbrXY3EaNriEdxH6
7KlnfH9tAZZNZsHQJBU/kOz2v8/wgeJRNbn89lLE7Waen7UNimQ9Ks8tqUFvu4Cq
VQmAopoir7G7xWYDaIU/fTpHSc7+BkcQO+tEzF7phBihd6rQ47pgrUXvJ1UB2G5g
1zwgIzK5mVNZ0vRBS9r6KZevE1h7N4yAWHc85TdTbjT/IVf/Vuhs3j5MrOtjEt9R
M4QDsGQ/h9DkED7aZgG9RmbNvjSU1rzh27IpSRNrApCOlTcakjP1a1T1HDpZsLi5
IdkokEwnPeMUpuc31IiUOnttSFA+nDdHf41z6r+R4HEs2J7FO1qdOaYpa4HtEByr
X/GeAyA+88+6zOC9ZCYNnDdwZ2cJK8RgmDDUUK2P/DNAR6ZnxU2HU+4I+ljcOxh2
VcbyjqJB8nliQarSqruM
=e4C+
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to