If you have an SNMP infrastructure available (nagios or similar) you should be able to set up a polling monitor that will keep statistics on the number of threads in your jvm and even allow you to inspect their stacks remotely. You can set alarms so you will be notified if cpu thread count or other metrics exceed a configurable threshold and then take a look at the process before it goes off the deep end. It is a fair amount of work to set this up, but really useful if you need to support a critical system.

-Mike

On 6/1/2011 3:42 PM, Jonathan Rochkind wrote:
First guess (and it really is just a guess) would be Java garbage collection taking over. There are some JVM parameters you can use to tune the GC process, especially if the machine is multi-core, making sure GC happens in a seperate thread is helpful.

But figuring out exactly what's going on requires confusing JVM debugging of which I am no expert at either.

On 6/1/2011 3:04 PM, Chris Cowan wrote:
About once a day a Solr/Jetty process gets hung on my server consuming 100% of one of the CPU's. Once this happens the server no longer responds to requests. I've looked through the logs to try and see if anything stands out but so far I've found nothing out of the ordinary.

My current remedy is to log in and just kill the single processes that's hung. Once that happens everything goes back to normal and I'm good for a day or so. I'm currently the running following:

solr-jetty-1.4.0+ds1-1ubuntu1

which is comprised of

Solr 1.4.0
Jetty 6.1.22
on Unbuntu 10.10

I'm pretty new to managing a Jetty/Solr instance so at this point I'm just looking for advice on how I should go about trouble shooting this problem.

Chris

Reply via email to