Puncte:0

Cum să diagnosticați comportamentele necorespunzătoare intermitente ale nucleului

drapel mg

Vezi Jurnalele evenimentelor îndreptându-se mai în jos.

Sunt pe Ubuntu Server 21.04, rulând kernelul 5.11.0-1015-raspi pe aarch64.

Care sunt cele mai eficiente lucruri de pregătit pentru a avansa în diagnosticarea acestui lucru data viitoare când se va întâmpla?

Ocazional, după o utilizare intensă, încep să am probleme ciudate, cum ar fi acestea:

  • unele procese care nu ar trebui să facă nimic afișează utilizarea 100% a unui singur nucleu top (Acest lucru s-a întâmplat recent cu scripturile bash care se fac bucla pe inotifywait pe fișierele de evenimente dev)
  • acestea și o mână de alte procese nu se termină cu ucide -9 (Aș fi presupus că inotifywait pur și simplu se încheie imediat, cu excepția acestui lucru)
  • sistemul poate menține serviciile în funcțiune, dar tty-urile pot opri procesarea intrării sau ieșirii, inclusiv tty-ul serial
  • swapoff /cale/spre/swap se poate bloca pe termen nelimitat chiar și atunci când nu se mai folosește spațiu de schimb
  • închidere systemctl se poate bloca pe termen nelimitat sau sistemul se poate opri parțial și apoi se poate bloca
  • luminile tastaturii USB pot să nu mai răspundă
  • solicitările de conectare pot aștepta foarte mult timp după introducerea unui utilizator și apoi se blochează după afișarea doar unei părți a solicitării de parolă
  • apăsările de taste pot fi abandonate
  • uneori, mesaje kernel repetate pe un tty indicând aceeași sarcină blocată
  • Când nu răspund la infinit, nu văd nicio panică a nucleului pe o deschidere dmesg --follow, journalctl --follow, sau tty
  • Lumina de blocare a majusculelor apare în general nefuncțională pe această mașină. De asemenea, lumina de blocare a majusculelor pare nefuncțională pe aarch64 olimex teres.

Am actualizat recent sistemul și sper că aceste probleme pot scădea, dar aș dori să știu ce mai pot face pentru a ajuta la diagnosticarea sau rezolvarea lor. Am depus efortul de a conecta un cablu serial și am fost foarte surprins de faptul că terminalul serial în sine s-ar putea bloca la nesfârșit la jumătatea ieșirii.

Acest lucru se întâmplă de obicei asociat cu alocare excesivă de swap, în exces de RAM disponibil, dar unele dintre probleme, cum ar fi procesele ciudate care nu vor ucide -9, implică mai mult decât o simplă deplasare a memoriei pentru mine, iar problemele nu dispar atunci când memoria este eliberată, deși nu am experiență cu nucleul Linux.

În mod ideal, aș dori să restrâng problema la un bug în nucleu, o problemă cu hardware-ul meu sau un sistem compromis.

Jurnalele evenimentelor:

2021-08-09

După systemctl izola grafic și systemctl izola multi-utilizator systemd-journal folosește 99% CPU care inundă jurnalul pe care org.gnome.Shell@x11 ​​este în așteptarea opririi. starea systemctl spune că nu există un astfel de serviciu. am incercat jurnalctl | pastebinit. Interfața a încetat să mai răspundă înainte de a primi adresa URL, mă tem.

Aceasta nu pare să fie o problemă de memorie virtuală de data aceasta, dar iată ieșirile de memorie pe care le-am primit înainte de a îngheța:

liber -h: https://paste.ubuntu.com/p/3c5tSTgGc4 (acesta a fost luat în timp ce a fost anulat; s-a terminat de deschimbat)

sysctl vm.swappiness: https://paste.ubuntu.com/p/cpvJw4Nd8f

La 10:29 UTC, sesiunea mea tmux a înghețat. Am trecut la tty3 și am încercat să mă autent. Tty s-a blocat afișând parola. La ora 10:32 UTC, ventilatorul s-a învârtit timp de aproximativ 1 minut.

Am un sistem offline conectat la terminalul serial cu dmesg deschis. Ultimele rânduri sunt legate de rfkill, copiate manual pe telefonul meu mobil de mai jos:

[225366.651144] md: verificarea datelor matricei RAID md4
[225724.680213] rfkill: handler de intrare activat
[225745.716506] rfkill: handler de intrare dezactivat
[225751.439369] rfkill: handler de intrare activat

La 10:33, tty3 a afișat „Timpul de conectare a expirat după 60 de secunde”. fără a afișa vreodată o solicitare de parolă. Se blochează fără a afișa o altă solicitare de conectare. Am trimis un ^C la tty-ul serial în jurul orei 10:35 și mi-a fost transmis un ecou, ​​dar nu a fost afișat nicio solicitare de terminal pentru a indica faptul că dmesg a fost întrerupt. 10:36 sau 10:37 serial tty iese/echo un întoarcere de cărucior. Nicio intrare nouă. Ventilatorul se rotește din nou. 10:39 serial tty afișează un prompt, care procesează cheia de retur în așteptare și se blochează din nou. 10:42 au un prompt în serie! 11:00, dar încă încerc să execut orice comenzi din prompt. Este incredibil de lent, dar nu pierde apăsările de taste din memoria tampon (ceea ce mi se întâmplă uneori) 11:01 sistemul răspunde pe serial și tty3. A ucis pastebinit din cauza oom.

lshw -C memorie: https://paste.ubuntu.com/p/x5GMkHRktS

heynnema avatar
drapel ru
Editează-ți întrebarea și arată-mi `free -h` și `sysctl vm.swappiness` și `swapon -s` și `sudo lshw -C memory`. Începeți-mi comentariile cu @heynnema sau îmi vor lipsi.
fuzzyTew avatar
drapel mg
@heynnema Am primit doar 2 dintre comenzile tale solicitate. Încerc să obțin mai multe date, dar serialul durează peste un minut per caracter și fac multe greșeli de scriere. Este serviciul org.gnome.Shell@x11 ​​util?
heynnema avatar
drapel ru
Ar fi util să faceți `tail /var/log/syslog` pentru a vedea ultimele intrări și pentru a vedea dacă se repetă ceva. Aveți acces la un DVD/USB Ubuntu Live Desktop? Puteți crea unul pe alt sistem? Porniți-l și vedeți cum răspunde sistemul. Bănuiesc că ai o problemă hardware. Poate chiar și cu RAID-ul tău.

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.