- Вопрос или проблема
- Измените настройки sysctl
- Сделайте это постоянным, отредактировав /etc/sysctl.conf
- Добавьте эти строки:
- Понизьте OOM score для критических процессов
- Это делает их менее вероятными для завершения
- Отредактируйте конфигурацию GRUB
- Добавьте в GRUB_CMDLINE_LINUX_DEFAULT:
- Ответ или решение
- Проблема с отключением сессий в Ubuntu 24.04.1 LTS: Устранение неполадок
- 1. Анализ проблемы
- 2. Возможные решения
- 3. Прочие рекомендации
Вопрос или проблема
Ubuntu 24.04.1 LTS Desktop. Я запускаю процесс, который использует большое количество своп-диска. Процесс длится около часа и работает нормально, используя 128 из 128 ГБ RAM и 256 ГБ из 2 ТБ своп-диска NVME. Затем ближе к концу, когда использование свопа увеличивается до примерно 300 ГБ, сессия завершается, и я выхожу из системы. Я не думаю, что это проблема с оборудованием, так как я заменил RAM и NVME. Авто-локировка экрана и приостановка отключены. Swappiness установлен на 60.
Как я могу остановить завершение сессии? Спасибо!
ОШИБКИ из журнала:
novato@novato-Super-Server:~$ sudo grep –text -ri ‘killed process’ /var/log/
/var/log/syslog:2024-11-28T23:54:31.369757-08:00 novato-Super-Server kernel: Недостаточно памяти: Завершен процесс 6174 (python) total-vm:77951424kB, anon-rss:28399472kB, file-rss:116736kB, shmem-rss:2304kB, UID:1000 pgtables:70004kB oom_score_adj:200
/var/log/syslog:2024-11-28T23:57:43.092454-08:00 novato-Super-Server kernel: Недостаточно памяти: Завершен процесс 8376 (python) total-vm:75541232kB, anon-rss:27676500kB, file-rss:119808kB, shmem-rss:9984kB, UID:1000 pgtables:70220kB oom_score_adj:200
/var/log/syslog:2024-11-29T00:01:16.232384-08:00 novato-Super-Server kernel: Недостаточно памяти: Завершен процесс 10445 (python) total-vm:75645144kB, anon-rss:28301288kB, file-rss:114432kB, shmem-rss:2304kB, UID:1000 pgtables:69980kB oom_score_adj:200
/var/log/syslog:2024-11-29T00:29:10.753860-08:00 novato-Super-Server kernel: Недостаточно памяти: Завершен процесс 24363 (swapoff) total-vm:18292kB, anon-rss:0kB, file-rss:768kB, shmem-rss:0kB, UID:0 pgtables:60kB oom_score_adj:200
/var/log/syslog:2024-11-29T00:29:10.759830-08:00 novato-Super-Server kernel: Недостаточно памяти: Завершен процесс 12190 (python) total-vm:213823008kB, anon-rss:22247060kB, file-rss:122112kB, shmem-rss:14592kB, UID:1000 pgtables:263252kB oom_score_adj:200
/var/log/journal/9c539c2437834f84bb1175357351d30c/user-1000.journal:9P
Уже пробовал отключить OOM killer.
Уже пробовал следующее:
Модификации на уровне ядра:
bash
Копировать
Измените настройки sysctl
sudo sysctl -w vm.overcommit_memory=2
sudo sysctl -w vm.overcommit_ratio=100
Сделайте это постоянным, отредактировав /etc/sysctl.conf
sudo nano /etc/sysctl.conf
Добавьте эти строки:
vm.overcommit_memory = 2
vm.overcommit_ratio = 100
Настройте поведение OOM killer для конкретных процессов:
bash
Копировать
Понизьте OOM score для критических процессов
Это делает их менее вероятными для завершения
sudo echo -999 > /proc/$(pidof your_process)/oom_score_adj
Добавьте параметр ядра при загрузке:
bash
Копировать
Отредактируйте конфигурацию GRUB
sudo nano /etc/default/grub
Добавьте в GRUB_CMDLINE_LINUX_DEFAULT:
oom_kill_disable=1
Ответ или решение
Проблема с отключением сессий в Ubuntu 24.04.1 LTS: Устранение неполадок
Проблема, с которой вы столкнулись, связана с управлением памятью в вашей системе Ubuntu 24.04.1 LTS, а именно с исчерпанием ресурсов памяти, что вызывает автоматическое завершение процессов и выход из сеанса. Давайте разберем основные аспекты данной ситуации подробно.
1. Анализ проблемы
Из предоставленных вами логов видно, что система инициирует OOM Killer (Out of Memory Killer) из-за того, что она не может выделить достаточно памяти для запуска новых процессов или продолжения работы существующих. Этот механизм автоматически завершает процессы с наибольшими затратами памяти, чтобы избежать полной остановки системы.
- Использование памяти: Вы упоминаете, что ваша сессия успешно использует 128 ГБ ОЗУ и 256 ГБ из 2 ТБ свопа, но при увеличении свопа до 300 ГБ система выдает сообщение об ошибке и завершает процессы.
- Закрытие сессий: Закрытие сеансов может быть связано с системой управления памятью, которая считает, что ресурсы исчерпаны.
2. Возможные решения
a. Настройки управления памятью
-
Проверьте своп: Убедитесь, что своп настроен правильно. Возможно, следует добавить больше свопа, если это возможно в вашем окружении. Также проверьте, нет ли ограничений по размеру свопа.
-
Настройки
swappiness
:
Установленная вами значимость свопа на уровне 60 может быть довольно высокой. Попробуйте понизить это значение:sudo sysctl -w vm.swappiness=10
Это уменьшит желание системы использовать своп при наличии свободной оперативной памяти.
b. Настройки OOM Killer
-
Настройка
oom_score_adj
:
Вы правильно пытаетесь изменитьoom_score_adj
для критических процессов. Убедитесь, что применения команды происходят для всех важных процессов, использующих много памяти.sudo echo -999 > /proc/$(pidof ваш_процесс)/oom_score_adj
-
Отключение OOM Killer через GRUB:
Хотя вы уже пробовали этот шаг, помните, что полное отключение OOM Killer (параметрoom_kill_disable=1
) может привести к неработоспособности системы в случае исчерпания памяти.
c. Использование более легкого рабочего окружения
Если процесс, который вы запускаете, требует чрезмерного использования памяти, подумайте о применении более легкого рабочего окружения. Например, вместо GNOME используйте XFCE или LXQt, которые менее ресурсоемки.
d. Мониторинг и алертинг
Используйте инструменты мониторинга, такие как htop
, atop
или glances
, чтобы наблюдать за использованием памяти в реальном времени. Это может помочь вам выявить, какие процессы занимают наибольшее количество ресурсов, и предпринять меры заранее.
3. Прочие рекомендации
- Регулярно обновляйте систему: Убедитесь, что ваша система и все пакеты обновлены до последних стабильных версий, чтобы избежать проблем, уже решенных разработчиками.
- Проверка на наличие ошибок: Просмотрите системные логи на наличие других предупреждений или ошибок, которые могут указывать на подлежащие решению проблемы с оборудованием или конфигурацией.
- Обратитесь к документации: Ознакомьтесь с официальной документацией Ubuntu и Linux о настройках управления памятью и OOM Killer, чтобы досконально понять все аспекты работы системы.
Следуя этим рекомендациям, вы сможете лучше управлять памятью в вашей системе и минимизировать вероятность выхода из сеанса из-за нехватки ресурсов. Это позволит улучшить производительность и стабильность работы вашей Ubuntu.