Si está utilizando Linux, puede instalar la utilidad "strace" para ver qué está haciendo el proceso Ruby que consume toda la CPU. Eso te dará una buena vista de bajo nivel. Debería estar disponible en su administrador de paquetes. A continuación, se puede:
$ sudo strace -p 22710
Process 22710 attached - interrupt to quit
...lots of stuff...
(press Ctrl+C)
Entonces, si desea detener el proceso en el medio y volcar un seguimiento de la pila, se puede seguir la guía sobre el uso de GDB en Ruby en http://eigenclass.org/hiki.rb?ruby+live+process+introspection, específicamente haciendo:
gdb --pid=(ruby process)
session-ruby
stdout_redirect
(in other terminal) tail -f /tmp/ruby_debug.(pid)
eval "caller"
también puede utilizar la gema rubí de depuración para conectarse de forma remota a los zócalos de depuración que se abren, descritos en http://duckpunching.com/passenger-mod_rails-for-development-now-with-debugger
también parece ser un proyecto en Github ocupa de la depuración de los casos de pasajeros que parece interesante, pero el DOCUMENTACIÓN ión falta: http://github.com/ddollar/socket-debugger/tree/master
para mí esto solo ocurre cuando reinicio Apache para las primeras solicitudes: una vez que el proceso hace lo que hace, la aplicación funciona bien. Pero puede llevar de 10 minutos (sin tráfico) a 3-6 horas (con tráfico) al sitio, para mí esto no es una opción, pero me gustaría entender qué está pasando y por qué sucede – Spasm