Grazie per tutti i dettagli. È un bene che tu l’abbia fatto
ma penso che probabilmente farlo durerà solo fino al prossimo riavvio. Dopo il riavvio dovrai farlo di nuovo. Vedi MKJ’s Opinionated Discourse Deployment Configuration per suggerimenti su come renderlo permanente.
Sembra possibile che tu abbia poca memoria (con questo intendo RAM+swap) e tuttavia 2+4 dovrebbero essere sufficienti. Esegui la seguente diagnostica rapida e pubblica i risultati:
cat /etc/lsb-release
uptime
df -h /
free
swapon
vmstat 5 5
dmesg|egrep -i "memory|oom|kill"
ps auxrc
Condividi anche il tuo file app.yml qui, ma non le password e i token segreti al suo interno!
Se sei in grado di impostare due connessioni SSH, puoi usarne una per eseguire una ricostruzione dell’app e l’altra per vedere cosa sta facendo la macchina. Mi piace alternare
vmstat 5 5
ps auxrc
È possibile che tu stia scambiando su un disco remoto, uno storage collegato in rete, e questo è noto per essere un problema. Sarà molto lento. Forse causa un timeout e questo è il problema. Forse c’è un modo per regolare il timeout.
Ho trovato questo - forse aiuta?
(Il timeout di sistema predefinito è di 90 secondi, almeno in alcune versioni di systemd, quindi questo si adatta abbastanza bene).
Potresti provare a risolvere questo problema aumentando TimeoutStartSec nell’unità systemd di postgresql (o anche globalmente), il che forse nasconde solo il problema finché il prossimo servizio improvvisamente non si avvia più.
Modifica: se è così, allora questo consiglio potrebbe essere utile:
Puoi decommentare in
/etc/systemd/system.confle righe:DefaultTimeoutStartSec=90s DefaultTimeoutStopSec=90sE cambiare il valore in quello che ritieni appropriato.