Puncte:0

Cum să depanați hibernarea lentă

drapel sd

Am mai multe PC-uri/laptop-uri care rulează un Ubuntu 20.04 actualizat cu un nucleu de 64 de biți 5.4.0-74-generic, așa cum este furnizat de Ubuntu Ubuntu. Unul dintre ele, un PC destul de obișnuit cu un procesor Intel i3, durează ceva mai mult de 2 minute pentru a hiberna de când am făcut upgrade de la 18.04 la 20.04.

Diverse resurse pe care le-am găsit despre depanarea hibernarii acoperă în cea mai mare parte trezirea sau eșecul complet de suspendare, dar nu o suspendare pe disc care durează foarte mult. Trezirea funcționează bine și durează doar câteva secunde. Cum pot afla ce durează atât de mult până hibernez? Există ceva de genul systemd-analiza vina pentru hibernare?

Pana acum am adaugat initcall_debug no_console_suspend la GRUB_CMDLINE_LINUX_DEFAULT în /etc/default/grub și arată consola, cu toate acestea, nu este afișat nimic care să explice timpul îndelungat. Afișează „Unitatea hardware detectată suspendată” pentru interfața de rețea. Dar acest lucru apare chiar la începutul hibernării și cred că este un comportament așteptat.

eu folosesc systemctl hibernare pentru a-l iniția. Durează 2 minute până la oprire, chiar și atunci când rulează ca root pe consolă, fără alți utilizatori conectați sau procese de utilizator.

Puncte:0
drapel sd

Sfatul meu:

  1. Decide să pune o întrebare @ askubuntu.com și fii serios în privința asta ;) Colectați date, reproduceți problemele cu setări minime și fiți specific.

  2. Asigurați-vă că există suficient spațiu de schimb. Comanda liber oferă cantitatea de RAM ("Mem") și Swap. Totalul de schimb ar trebui să fie mai mare decât RAM totală. Mi-am dat seama că am adăugat RAM la un moment dat, dar nu am mărit dimensiunea partiției mele de swap. Editare(2021-06-07): Diferența de dimensiune a fost de ~ 1 GB.După creșterea dimensiunii, hibernarea a fost în mod repetat mai rapidă, dar încă cred că acesta a fost un artefact cauzat de o schimbare a vitezei de scriere a SSD-ului care deține partiția de swap. (Vezi și punctul următor.)

  3. Cât de rapidă ar trebui să fie hibernarea? În esență, în timpul suspendării pe disc, toată memoria RAM este scrisă pe disc. Cantitatea de RAM și viteza de scriere a discului determină timpul necesar. Am căutat partiția mea de swap și am verificat cât timp durează până la zero folosind-o dd if=/dev/zero. dd a raportat o viteză de 108 MB/s. Scrierea a 7 GB a durat ~65s. PC-ul meu are 8 GB. Deci, ar trebui să mă aștept ca hibernarea să dureze cel puțin un minut.

  4. Încearcă depanați prin îndepărtarea pieselor a sistemului: Detașați hardware-ul care nu este necesar. Hibernați imediat după o încărcare nouă, cu sau fără autentificare mai întâi.

  5. Adăuga initcall_debug no_console_suspend la linia de comandă a nucleului, așa cum este descris în întrebare.

Deocamdată, cred că motivele pentru care mă confrunt cu hibernarea lentă sunt: ​​am adăugat RAM (deci hibernarea durează mai mult), am uitat să măresc spațiul de schimb pentru a se potrivi cu RAM adăugată (am avut 7G swap, dar 8G RAM) și viteza de scriere a SSD-ul s-a degradat în timp (cel puțin cu un factor de 2).

Lectură suplimentară și recomandată:

drapel sd
După adăugarea unui al doilea SSD SATA și folosirea acestuia pentru partiția de schimb, hibernarea durează doar 10-15 secunde.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.