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

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 do not hot deploy my apps. They are JSF2.0/Mojarra powered, some of them 
access database a generate various reports.

 
> > I am trying to investigate what the app causes this, but I haven't
> > succeeded in reproducing it locally yet.
> >
> > I found several articles about VisualVM (I hope it could help me
> > to determine some PermGen issues) and connecting it to the Tomcat.
> > Remotely. But I have no clue how can I conect the local VisualVM to
> > tomcat that runs on localhost.
> >
> > Even here it is written:
> > http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html
> >
> > Enabling JMX Remote Note: This configuration is needed only if you
> > are going to monitor Tomcat remotely. It is not needed if you are
> > going to monitor it locally, using the same user that Tomcat runs
> > with.
> >
> > But there is no further description for that simpler (local)
> > method. If it is obvious, sorry, but I am lost here ;-)
> 
> Connecting to a Tomcat running on localhost is dead simple:
> 
> 1. Launch VisualVM
> 2. Once the main screen loads, double-click on "Tomcat" from the
> "Local" cluster of applications
> 3. Profit

Now I've found this interesting article:
https://blogs.oracle.com/nbprofiler/entry/monitoring_java_processes_running_as

I realized that my tomcat runs as a service but I am logged as an user and in 
this case the tomcat is not visible to me. I'll test it differently tomorrow.

Regards, Jan


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

Reply via email to