Іноді я працюю з величезними скидами даних, які хочу зберегти в пам'яті для обробки. Іноді я неправильно підрахував об’єм пам’яті, яку виробить моя програма, або відладчик множить використання пам’яті на коефіцієнт, що перевищує мою наявну пам’ять.
Кожного разу, коли я запускаю процес, що голодує на пам'ять, саме цього я б очікував від розумної операційної системи: спробуйте з'їсти всю вільну пам’ять, а потім попросити якісь інші несуттєві процеси, щоб відмовитися від потрібної їм пам’яті, тоді написати на поміну.
Ось що для мене робить Ubuntu: з’їжте всю вільну пам’ять, потім попросіть операційну систему поміняти всі основні сервіси (сеанс gnome, термінал, клавіатура), а потім замерзнути і чекати, коли я вийме шнур живлення.
Два питання:
- Як операційна система може припустити, що що-небудь може бути настільки важливим, щоб нормально перестати слухати введення користувачів?
- Як я можу сказати Ubuntu ніколи не обмінюватись важливими послугами та завжди реагувати на введення користувачів, навіть якщо якийсь дурний процес намагається з'їсти більше ресурсів, ніж надає система.
swappinessналаштування на 10, тобто: vm.swappiness = 10в /etc/sysctl.conf. Шукайте тут свобідність для отримання додаткової інформації про нього. 2) Якщо заміщення не допомагає ... Хоча ви, можливо, не хочете ... збільште розмір свого swapfile до 1,5x16G і подивіться, чи це допомагає. Тримай мене в курсі. Ура, Al
vm.swappiness=10має бути додано до sysctl.conf. Досвідчена людина може навіть використовувати команду sysctl на льоту, щоб встановити vm.swappiness = 10, не редагуючи файл sysctl.conf. Ура, Аль пс: чекаю, коли ОП відповість.
swaponщоб дізнатися)? Ура, Аль