Nucleul Linux nu poate gestiona cu grație situațiile lipsite de memorie

Pe lista de corespondență a dezvoltatorilor de kernel Linux ridicat Problemă cu gestionarea situației de memorie scăzută în Linux:

Există o problemă cunoscută care a afectat mulți oameni de mulți ani și poate fi reprodusă în mai puțin de câteva minute pe cel mai recent kernel Linux 5.2.6. Toți parametrii nucleului sunt setați la valorile implicite.

Pași:

  • Porniți cu parametrul „mem=4G”.
  • Dezactivați suportul de swap (sudo swapoff -a).
  • Lansăm orice browser web, de exemplu, Chrome/Chromium și/sau Firefox.
  • Începem să deschidem file cu site-uri și să vedem cum scade cantitatea de memorie liberă.

De îndată ce apare o situație în care o nouă filă necesită mai multă RAM decât este disponibilă, sistemul se blochează aproape complet. Veți avea dificultăți chiar și la mutarea cursorului mouse-ului. Indicatorul de hard disk va clipi non-stop (nu știu de ce). Nu veți putea să lansați aplicații noi sau să le închideți pe cele care rulează în prezent.

Această mică criză poate dura câteva minute sau mai mult. Bănuiesc că sistemul nu ar trebui să se comporte așa. Cred că trebuie făcut ceva pentru a evita astfel de „înghețuri”.

Sunt destul de sigur că este posibil să schimb unii parametri sysctl pentru a evita acest tip de situație, dar ceva îmi spune că aceasta ar putea fi implicită pentru toată lumea, deoarece utilizatorii non-tehnici care întâmpină această problemă vor renunța pur și simplu să folosească Linux și nu vor grijă pentru a căuta soluții pe Google.

В comentarii pe Reddit, unii utilizatori sugerează activarea schimbului, dar acest lucru nu rezolvă problema, ci doar o amână și de multe ori o înrăutățește. Ca o posibilă soluție în viitor, ar putea fi implicate cele apărute în nucleu 4.20 și îmbunătățit în nucleu 5.2 Subsistemul PSI (Pressure Stall Information), care vă permite să analizați informații despre timpul de așteptare pentru primirea diferitelor resurse (CPU, memorie, I/O). Acest subsistem face posibilă organizarea monitorizării deficitului de memorie într-un stadiu incipient, determinarea sursei problemelor și terminarea aplicațiilor neimportante fără a provoca efecte vizibile pentru utilizator.

Sursa: opennet.ru

Adauga un comentariu