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

Reply via email to