Автор Гілка: Поведінка ядра в час нестачі пам’яти  (Прочитано 1204 раз)

Відсутній Yury_Bulka

  • Графоман
  • ****
  • дописів: 440
  • Карма: +0/-0
  • муз́ика
Час від часу попадаю в становище, коли якась програма починає активно використовувати пам’ять (ну, зазвичай Firefox, коли крім нього є ще якийсь великий робочий процес), і перелазить через об’єм фізичної пам’яти. Тоді ядро починає (за моїми припущеннями) ганяти сторінки пам’яти в своп і назад, намагаючись забезпечити тій програмі можливість функціонування.

Проблема в тім, що як тільки таке починається, система майже повністю перестає реагувати, і для того, щоб зайти на віртуальну консоль і вбити ту програму, потрібно біля 5-7 хвилин.

Звісно, найкраща рада — не допускати таких ситуацій, але якщо вже таке стається, то чи можна зробити, щоб якось легше з них виходити?

Останній раз, коли таке було, я зберіг вихід команди free перед вбиванням проблемного процесу:

             total       used       free     shared    buffers     cached
Mem:       1016136     945024      71112          0        204      49248
-/+ buffers/cache:     895572     120564
Swap:      1952764     105632    1847132
« Змінено: 2012-01-11 00:49:31 від Yury_Bulka »
http://freeUser.org.ua/ — колективний досвід із застосування вільних програм

Відсутній Yury_Bulka

  • Графоман
  • ****
  • дописів: 440
  • Карма: +0/-0
  • муз́ика
З ідей: можна використати комбінацію SysRq+E,I (вбиває все крім init), але то вже дуже радикально.
http://freeUser.org.ua/ — колективний досвід із застосування вільних програм

Відсутній Дмитро Редчук

  • Кореспондент
  • ***
  • дописів: 104
  • Карма: +0/-0
Десь у мене у пам’яті крутиться /proc/sys/vm/swappiness — це, наскільки пам’ятаю, «порада» ядру щодо «свопування».

Взагалі, я такими питаннями не дуже цікавився; більше нічого не згадується.
« Змінено: 2012-01-31 12:31:05 від dor »
«Критика має бути конструктивною. Інакше вона деструктивна» ©
Щось не так? — Зроби так.