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 In the Apache webserver log there are just consequences of the tomcat/thread failure: [Fri Jul 12 10:50:34 2013] [error] (OS 10060)A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. : ajp_ilink_receive() can't receive header [Fri Jul 12 10:50:34 2013] [error] ajp_read_header: ajp_ilink_receive failed [Fri Jul 12 10:50:34 2013] [error] (70007)The timeout specified has expired: proxy: read response failed from 127.0.0.1:8009 (localhost) ... and repeating ... Is there any log from where that 'Exception in thread ajp-bio...' can be analyzed? Is is tomcat related or rather webserver/connector related problem? Thanks, Jan --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org