We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Servidor se cae regularmente


camaron
02/12/2016, 10:00
Gracias por todo davidlig, está todo correcto, erra un error de sintaxis mio cuando hacía el cat.
http://zipindo.com/consola.png

davidlig
30/11/2016, 01:17
Cita Publicado inicialmente por camaron
Si, mysql está funcionando correctamente cuando ejecuto el comando, mysql esta instalado desde los repositorios de ovh.
pues haz un ps aux como root busca el pid de mysql ejecutalo así:
Código:
cat /proc//limits
Ejemplo:
Código:
cat /proc/6118/limits

camaron
29/11/2016, 10:29
Si, mysql está funcionando correctamente cuando ejecuto el comando, mysql esta instalado desde los repositorios de ovh.

davidlig
28/11/2016, 11:38
Cita Publicado inicialmente por camaron
Gracias davidlig por tu tiempo, cuando hago el último paso
cat /proc/$(cat /var/run/mysqld/mysqld.pid)/limits

me da:
cat: /var/run/mysqld/mysqld.pid: No existe el fichero o el directorio
cat: /proc//limits: No existe el fichero o el directorio
¿Está funcionando el daemon de mysql cuando estás ejecutando el comando? ¿Has instalado el mysql-server desde los repositorios oficiales de debian?

Lo acabo de probar desde una instalación limpia y funciona correctamente:
Código:
root@testdeb:~# cat /proc/$(cat /var/run/mysqld/mysqld.pid)/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             3935                 3935                 processes
Max open files            1024                 4096                 files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       3935                 3935                 signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us
root@testdeb:~# uname -a
Linux testdeb 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux
root@testdeb:~# cat /etc/debian_version
8.6
root@testdeb:~# nano /etc/security/limits.conf
root@testdeb:~# reboot
login as: root
root@192.168.0.68's password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Nov 28 11:29:46 2016 from 192.168.0.43
root@testdeb:~# mkdir -p /etc/systemd/system/mysql.service.d/
root@testdeb:~# nano /etc/systemd/system/mysql.service.d/limits.conf
root@testdeb:~# systemctl daemon-reload
root@testdeb:~# /etc/init.d/mysql restart
[ ok ] Restarting mysql (via systemctl): mysql.service.
root@testdeb:~# /etc/init.d/mysql status
● mysql.service - LSB: Start and stop the mysql database server daemon
   Loaded: loaded (/etc/init.d/mysql)
  Drop-In: /etc/systemd/system/mysql.service.d
           └─limits.conf
   Active: active (running) since lun 2016-11-28 11:35:29 CET; 4min 47s ago
  Process: 1249 ExecStop=/etc/init.d/mysql stop (code=exited, status=0/SUCCESS)
  Process: 1283 ExecStart=/etc/init.d/mysql start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/mysql.service
           ├─1310 /bin/sh /usr/bin/mysqld_safe
           └─1662 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock...

nov 28 11:35:29 testdeb mysql[1283]: Starting MySQL database server: mysqld ..
nov 28 11:35:29 testdeb mysql[1283]: Checking for tables which need an upgrade, are corrupt or were
nov 28 11:35:29 testdeb mysql[1283]: not closed cleanly..
nov 28 11:35:29 testdeb systemd[1]: Started LSB: Start and stop the mysql database server daemon.
nov 28 11:35:29 testdeb /etc/mysql/debian-start[1752]: Triggering myisam-recover for all MyISAM tables
root@testdeb:~# cat /proc/$(cat /var/run/mysqld/mysqld.pid)/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             3935                 3935                 processes
Max open files            65536                65536                files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       3935                 3935                 signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us
Un saludo.

camaron
26/11/2016, 11:41
Gracias davidlig por tu tiempo, cuando hago el último paso
cat /proc/$(cat /var/run/mysqld/mysqld.pid)/limits

me da:
cat: /var/run/mysqld/mysqld.pid: No existe el fichero o el directorio
cat: /proc//limits: No existe el fichero o el directorio

davidlig
26/11/2016, 01:18
Eso se debe a los limites que establece el SO para permitirle al daemon de mysql/mariadb abrir archivos, solución:

nano /etc/security/limits.conf

añade:
Código:
mysql soft nofile 65535
mysql hard nofile 65535
Código:
reboot
es obligatorio reiniciar.

Crea lo siguiente:
Código:
mkdir -p /etc/systemd/system/mysql.service.d/
nano /etc/systemd/system/mysql.service.d/limits.conf
añade al limits.conf:
Código:
[Service]
LimitNOFILE=infinity
Código:
systemctl daemon-reload
/etc/init.d/mysql restart
Comprueba que se han aplicado los cambios:
Código:
cat /proc/$(cat /var/run/mysqld/mysqld.pid)/limits
Te debería aparecer algo como esto:
Max open files 65536 65536 files
Espero que se sirva de ayuda, un saludo.

camaron
25/11/2016, 06:44
Lo soluciono reiniciando el servidor, el servicio que se queda colgado es mysql, lo intento reiniciar con service mysql start, y falla me da el siguiente error:
[ERROR] Error in accept: Too many open files
y tengo que reiniciar el server.

alvaroag
24/11/2016, 14:02
Cómo lo soluciones? Reinicias el servidor? O algún servicio? Has mirado en el KVM que te muestra cuando se cae?

camaron
24/11/2016, 10:09
Tengo un dedicado con debian 8 + plesk 12.5, desde hace unos días entre las 6 y las 8 de la mañana, el server se cae, me he vuelto loco mirando los logs, pero no veo nada (supongo que no miraré el sitio adecuado), alguna sugerencia de que hacer?.

Os adjunto las únicas gráficas en las que se observa algún pico antes de la caida de las 6:40 h.

http://zipindo.com/procesos.png
http://zipindo.com/disk.png