Gracias por todos los detalles. Es bueno que hayas hecho esto
pero creo que probablemente hacer eso solo durará hasta el próximo reinicio. Después del reinicio, tendrías que hacerlo de nuevo. Consulta MKJ’s Opinionated Discourse Deployment Configuration para obtener consejos sobre cómo hacerlo permanente.
Parece posible que tengas muy poca memoria (con lo que me refiero a RAM + swap) y, sin embargo, 2+4 deberían ser suficientes. Ejecuta los siguientes diagnósticos rápidos y publica los resultados:
cat /etc/lsb-release
uptime
df -h /
free
swapon
vmstat 5 5
dmesg|egrep -i "memory|oom|kill"
ps auxrc
Por favor, comparte también tu archivo app.yml aquí, ¡pero no las contraseñas ni los tokens secretos que contiene!
Si puedes configurar dos conexiones SSH, puedes usar una para ejecutar una reconstrucción de la aplicación y usar la otra para ver qué está haciendo la máquina. Me gusta alternar
vmstat 5 5
ps auxrc
Es posible que estés usando swap en un disco remoto, un almacenamiento conectado a la red, y esto se sabe que es un problema. Será muy lento. Quizás cause un tiempo de espera y este sea el problema. Quizás haya una forma de ajustar el tiempo de espera.
Encontré esto, ¿quizás ayude?
(El tiempo de espera predeterminado de systemd es de 90 segundos, al menos en algunas versiones de systemd, por lo que encaja bastante bien).
Podrías intentar solucionar esto aumentando TimeoutStartSec en la unidad systemd de postgresql (o incluso globalmente), lo que quizás solo oculte el problema hasta que el próximo servicio de repente no se inicie más.
Editar: si es así, entonces este consejo podría ser bueno:
Puedes descomentar en
/etc/systemd/system.conflas líneas:DefaultTimeoutStartSec=90s DefaultTimeoutStopSec=90sY cambia el valor a lo que consideres apropiado.