Eu tenho um VPS rodando o Ubuntu 12.04 LTS com LEMP stack, segui o guia da Linode Library (desde que eu estou usando um Linode) para configurar, e tudo funcionou bem até agora.
Eu não sei o que está errado, mas o uso da minha CPU só aumenta desde uma semana atrás. Hoje as coisas estão ficando muito ruins - eu tenho 74% de uso da CPU, então fui checar e descobri que o mysqld está tendo muito uso da CPU (algo em torno de 30% ~ 80%)
Então eu fiz algumas pesquisas no Google, tentei desativar o InnoDB, reiniciei o mysql, reiniciei o ntp / system clock (não é este bug supostamente feito há mais de um ano ?!) e reiniciei o meu VPS, nada ajudou. Mesmo com o mysql processlist vazio, eu ainda uso muito o uso do CPU do mysqld.
Eu não sei o que eu perdi e não tenho nenhuma ideia, qualquer conselho seria apreciado.
Obrigado antecipadamente.
Atualização:
Consegui que eles executassem "strace mysqld"
write(2, "InnoDB: Unable to lock ./ibdata1"..., 44) = 44
write(2, "InnoDB: Check that you do not al"..., 115) = 115
select(0, NULL, NULL, NULL, {1, 0}^[[A^[[A) = 0 (Timeout)
fcntl64(3, F_SETLK64, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}, 0xbfa496f8) = -1 EAGAIN (Resource temporarily unavailable)
hum ... Eu tentei desativar o InnoDB e isso não resolveu esse problema. Alguma idéia?
Update2:
# ps -e | grep mysqld
13099 ? 00:00:20 mysqld
depois use "strace -p 13099", as seguintes linhas aparecem repetidamente:
fcntl64(12, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(12, F_SETFL, O_RDWR|O_NONBLOCK) = 0
accept(12, {sa_family=AF_FILE, NULL}, [2]) = 14
fcntl64(12, F_SETFL, O_RDWR) = 0
getsockname(14, {sa_family=AF_FILE, path="/var/run/mysqld/mysqld.sock"}, [30]) = 0
fcntl64(14, F_SETFL, O_RDONLY) = 0
fcntl64(14, F_GETFL) = 0x2 (flags O_RDWR)
setsockopt(14, SOL_SOCKET, SO_RCVTIMEO, "write(2, "InnoDB: Unable to lock ./ibdata1"..., 44) = 44
write(2, "InnoDB: Check that you do not al"..., 115) = 115
select(0, NULL, NULL, NULL, {1, 0}^[[A^[[A) = 0 (Timeout)
fcntl64(3, F_SETLK64, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}, 0xbfa496f8) = -1 EAGAIN (Resource temporarily unavailable)
# ps -e | grep mysqld
13099 ? 00:00:20 mysqld
fcntl64(12, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(12, F_SETFL, O_RDWR|O_NONBLOCK) = 0
accept(12, {sa_family=AF_FILE, NULL}, [2]) = 14
fcntl64(12, F_SETFL, O_RDWR) = 0
getsockname(14, {sa_family=AF_FILE, path="/var/run/mysqld/mysqld.sock"}, [30]) = 0
fcntl64(14, F_SETFL, O_RDONLY) = 0
fcntl64(14, F_GETFL) = 0x2 (flags O_RDWR)
setsockopt(14, SOL_SOCKET, SO_RCVTIMEO, "%pre%%pre%%pre%%pre%%pre%%pre%%pre%", 8) = 0
setsockopt(14, SOL_SOCKET, SO_SNDTIMEO, "<%pre%%pre%%pre%%pre%%pre%%pre%%pre%", 8) = 0
fcntl64(14, F_SETFL, O_RDWR|O_NONBLOCK) = 0
setsockopt(14, SOL_IP, IP_TOS, [8], 4) = -1 EOPNOTSUPP (Operation not supported)
futex(0xb786a584, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xb786a580, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xb7869998, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=12, revents=POLLIN}])
%pre%%pre%%pre%%pre%", 8) = 0
setsockopt(14, SOL_SOCKET, SO_SNDTIMEO, "<%pre%%pre%%pre%%pre%%pre%%pre%%pre%", 8) = 0
fcntl64(14, F_SETFL, O_RDWR|O_NONBLOCK) = 0
setsockopt(14, SOL_IP, IP_TOS, [8], 4) = -1 EOPNOTSUPP (Operation not supported)
futex(0xb786a584, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xb786a580, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xb7869998, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=12, revents=POLLIN}])
er ... agora eu não entendi x_x help