Cum să micșorezi timpul de închidere a serverului în Linux

Giteqa

Sistemul Linux se închide greu? Iată pașii pe care îi puteți lua pentru a afla ce cauzează oprirea întârziată și putem face pentru a remedia problema.

Sper că sunteți puțin familiarizați cu conceptul de sigterm și sigkill.

Când închideți sistemul Linux, acesta trimite sigterm și vă cere politicos să opriți procesele de execuție. Unele procese nu funcționează corect, ignoră sigterm și continuă să ruleze.

Acest lucru poate întârzia procesul de oprire, deoarece sistemul dvs. va aștepta o perioadă prestabilită de timp pentru a opri procesele de rulare. După această perioadă de timp, trimite un semnal de ucidere pentru a opri cu forță toate procesele rămase în funcțiune și oprește sistemul. Vă recomandăm să citiți despre sigterm vs sigkill pentru a înțelege diferența.

De fapt, în unele cazuri este posibil să vedeți un mesaj de genul «activitatea este în proces de oprire» pe un ecran negru.

Dacă sistemul dvs. durează prea mult pentru a se închide, puteți face următoarele:

Verificați care proces / serviciu durează prea mult și dacă îl puteți dezinstala sau reconfigura pentru a funcționa corect.
Modificați perioada de expirare implicită înainte ca sistemul dvs. să oprească forțat procesul de executare. [Remediere rapidă, dar nu se recomandă]
Aici folosesc Ubuntu care folosește systemd. Comenzile și pașii dați aici sunt valabili pentru orice distribuție Linux care folosește systemd (majoritatea o fac).

Remedierea opririlor lungi în Linux

Verificați ce procese cauzează opriri lungi în Linux
Dacă doriți să aflați ce s-a întâmplat, ar trebui să verificați ce s-a întâmplat la ultima oprire. Utilizați această comandă pentru a obține mai multe informații:

journalctl -rb -1
Comanda journalctl vă permite să citiți jurnalele de sistem. Utilizarea parametrilor «-b -1» filtrează jurnalele din ultima sesiune de descărcare. Atunci când alegeți opțiunea «-r» jurnalele sunt afișate în ordine cronologică inversă.

Cu alte cuvinte, comandajournalctl -rb -1  va afișa jurnalele de sistem chiar înainte de ultima oprire a sistemului Linux. De asta aveți nevoie pentru a analiza problema întreruperii lungi a Linux-ului.

Nu există jurnale? Iată ce ar trebui să faci

Ați găsit ceva suspect în jurnale? Există un proces / serviciu care refuză să se oprească? Dacă da, aflați dacă poate fi eliminat fără efecte secundare sau reconfigurat. Vă rugăm să nu ștergeți orbește lucrurile. Ar trebui să cunoașteți acest proces.

Accelerați opririle pe Linux prin scurtarea expirării implicite a opririi [Reparare rapidă]
Expirarea implicită a opririi este de obicei de 90 de secunde. Sistemul dvs. încearcă să forțeze serviciile de oprire după această perioadă de timp.

Dacă doriți ca sistemul Linux să se oprească rapid, puteți modifica această perioadă de expirare.

Veți găsi toate setările systemd în fișierul de configurare situat la /etc/systemd/system.conf. Acest fișier ar trebui să fie completat cu mai multe linii care încep cu #. Acestea sunt valorile implicite pentru intrările din fișier.

Înainte de a face ceva, este o idee bună să faceți o copie a fișierului original.

sudo nano /etc/systemd/system.conf /etc/systemd/system.conf.orig
Găsiți aici DefaultTimeoutStopSec. Probabil ar trebui setat la 90 de secunde.

# DefaultTimeoutStopSec = 90 с
Ar trebui să modificați această valoare cu ceva mai convenabil, de exemplu 5 sau 10 secunde.

DefaultTimeoutStopSec = 5 с.
Schimbați setările de timp de închidere Ubuntu

Nu uitați să eliminați # înainte DefaultTimeoutStopSec. Salvați fișierul și reporniți sistemul.

Acest lucru ar trebui să vă ajute să reduceți întârzierea de închidere a sistemului Linux.

Cât durează pornirea sistemului Linux?

Puteți afla informația dată folosind comanda systemd-analysis.

Ați remediat deconectarea lungă?

Sper că acest ghid te-a ajutat să investighezi și să remediezi problema de închidere lungă a sistemului tău. Spuneți-mi în comentarii dacă ați reușit să remediați acest lucru.