Убунту постоянно завершает мои процессы и выкидывает меня из системы.

Вопрос или проблема

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. Настройки управления памятью
  1. Проверьте своп: Убедитесь, что своп настроен правильно. Возможно, следует добавить больше свопа, если это возможно в вашем окружении. Также проверьте, нет ли ограничений по размеру свопа.

  2. Настройки swappiness:
    Установленная вами значимость свопа на уровне 60 может быть довольно высокой. Попробуйте понизить это значение:

    sudo sysctl -w vm.swappiness=10

    Это уменьшит желание системы использовать своп при наличии свободной оперативной памяти.

b. Настройки OOM Killer
  1. Настройка oom_score_adj:
    Вы правильно пытаетесь изменить oom_score_adj для критических процессов. Убедитесь, что применения команды происходят для всех важных процессов, использующих много памяти.

    sudo echo -999 > /proc/$(pidof ваш_процесс)/oom_score_adj
  2. Отключение OOM Killer через GRUB:
    Хотя вы уже пробовали этот шаг, помните, что полное отключение OOM Killer (параметр oom_kill_disable=1) может привести к неработоспособности системы в случае исчерпания памяти.

c. Использование более легкого рабочего окружения

Если процесс, который вы запускаете, требует чрезмерного использования памяти, подумайте о применении более легкого рабочего окружения. Например, вместо GNOME используйте XFCE или LXQt, которые менее ресурсоемки.

d. Мониторинг и алертинг

Используйте инструменты мониторинга, такие как htop, atop или glances, чтобы наблюдать за использованием памяти в реальном времени. Это может помочь вам выявить, какие процессы занимают наибольшее количество ресурсов, и предпринять меры заранее.

3. Прочие рекомендации

  • Регулярно обновляйте систему: Убедитесь, что ваша система и все пакеты обновлены до последних стабильных версий, чтобы избежать проблем, уже решенных разработчиками.
  • Проверка на наличие ошибок: Просмотрите системные логи на наличие других предупреждений или ошибок, которые могут указывать на подлежащие решению проблемы с оборудованием или конфигурацией.
  • Обратитесь к документации: Ознакомьтесь с официальной документацией Ubuntu и Linux о настройках управления памятью и OOM Killer, чтобы досконально понять все аспекты работы системы.

Следуя этим рекомендациям, вы сможете лучше управлять памятью в вашей системе и минимизировать вероятность выхода из сеанса из-за нехватки ресурсов. Это позволит улучшить производительность и стабильность работы вашей Ubuntu.

Оцените материал
Добавить комментарий

Капча загружается...