Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy are ruby processes at 100% CPU on passenger
    primarykey
    data
    text
    <p>I have a rails app (2.3.5) running on a VPS with 4 cores @ 2 GHz and 4GB memory. I am running nginx (0.7.61) and phusion passenger(2.2.14) on Ruby Enterprise (1.8.7-2010.01) with the max pool size set at 30. My problem is that it seems as if every ruby process that is executing a rails request runs at near 100% cpu. If I run TOP they drop off every time the display refreshes so they are not getting hung, but they are still running at 100%. </p> <p>Is there any way I can bring this down? Or at least figure out what portion of code is spiking the CPU? Is this a normal behavior?</p> <p>Here is the TOP output: </p> <pre><code>PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2427 psadmin 25 0 91904 76m 2696 R 100 1.9 739:05.96 Rails: /var/www/apps/main_rails_app/current 3457 psadmin 25 0 98180 82m 2532 R 100 2.0 711:21.91 Rails: /var/www/apps/main_rails_app/current 2415 psadmin 25 0 93952 77m 2708 R 99 1.9 727:49.31 Rails: /var/www/apps/main_rails_app/current 3455 psadmin 25 0 99204 83m 2528 R 69 2.0 726:04.70 Rails: /var/www/apps/main_rails_app/current 2791 psadmin 16 0 98044 81m 2492 S 31 2.0 0:10.16 Rails: /var/www/apps/main_rails_app/current 8034 psadmin 15 0 8160 3656 1772 S 1 0.1 0:35.39 nginx: worker process 8035 psadmin 15 0 8324 3696 1732 S 0 0.1 0:31.34 nginx: worker process 2588 psadmin 15 0 197m 183m 2712 S 0 4.5 1:02.16 Rails: /var/www/apps/main_rails_app/current </code></pre> <p>Thanks!</p> <p>Edit: Tried strace with follow forks as mentioned below. This is the output that is dumped over and over:</p> <pre><code>sudo strace -f -p 3455 clock_gettime(CLOCK_MONOTONIC, {394577, 508326476}) = 0 select(0, [], [], [], {0, 0}) = 0 (Timeout) --- SIGVTALRM (Virtual timer expired) @ 0 (0) --- sigreturn() </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload