-----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