sidekiq using 100% CPU of one core
Created by: richardland
I have gitlab 5 stable installed exactly according to the install-manual. Everything works fine (also the tests explained in the troubleshooting guide give no errors), except for the fact that sidekiq is using permanently 100% of the CPU (one of the cores, although they're two threads).
If I strace it with -f -p i get this result (this keeps on looping, causing the CPU time):
[pid 1821] futex(0x753ea94, FUTEX_WAIT_BITSET_PRIVATE, 676081, {1249, 891052821}, ffffffff <unfinished ...> [pid 1794] clock_gettime(CLOCK_MONOTONIC, <unfinished ...> [pid 1786] select(4, [3], NULL, NULL, NULL <unfinished ...> [pid 1821] <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out) [pid 1794] <... clock_gettime resumed> {1239, 453560420}) = 0 [pid 1821] futex(0x753eaf8, FUTEX_WAKE_PRIVATE, 1 <unfinished ...> [pid 1794] clock_gettime(CLOCK_MONOTONIC, <unfinished ...> [pid 1821] <... futex resumed> ) = 0 [pid 1794] <... clock_gettime resumed> {1239, 453600555}) = 0 [pid 1821] write(4, "!", 1 <unfinished ...> [pid 1794] futex(0x12adf30, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...> [pid 1821] <... write resumed> ) = 1 [pid 1786] <... select resumed> ) = 1 (in [3]) [pid 1821] futex(0x12adf30, FUTEX_WAKE_PRIVATE, 1 <unfinished ...> [pid 1786] read(3, <unfinished ...> [pid 1821] <... futex resumed> ) = 1 [pid 1794] <... futex resumed> ) = 0 [pid 1821] futex(0x12adf64, FUTEX_WAIT_PRIVATE, 2963, NULL <unfinished ...> [pid 1794] futex(0x12adf64, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x12adf60, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...> [pid 1821] <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) [pid 1794] <... futex resumed> ) = 0 [pid 1821] futex(0x12adf30, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...> [pid 1794] futex(0x12adf30, FUTEX_WAKE_PRIVATE, 1 <unfinished ...> [pid 1821] <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) [pid 1794] <... futex resumed> ) = 0 [pid 1821] futex(0x12adf30, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
I'm not an expert at all, but it looks like sidekiq is waiting for an other tread and/or cannot make connection to something. Thats strange, because everything works fine. Sidekiq does its job perfectly.
I used to also have this when gitlab used resque. Hoping for this problem to vanish I tried the new version with sidekiq but to no avail.
Info regarding my system: OpenVZ newest kernel branch (on vanilla 2.6.32 kernel), but not the newest build. Debian stable (minimal install) with redis from testing.
Strangely I cannot find any useful info on the web that helps... would be great if someone could help me out.