Вопрос или проблема
На Ubuntu 22.04 я получаю:
# cat /sys/fs/cgroup/cgroup.controllers
cpuset memory hugetlb pids rdma misc
Мне действительно нужен контроллер cpu
. Можете, пожалуйста, помочь, как его включить?
Как объяснено здесь https://serverfault.com/a/931180/518713 и https://unix.stackexchange.com/a/635645/346609, мне нужно было просто добавить cgroup_no_v1=all как параметр загрузки ядра в мою конфигурацию grub, обновить grub и перезагрузить систему. И вот оно. Никакой устаревший cpu не монтируется как cgroup v1. Таким образом, он становится доступным для cgroup v2.
Ответ или решение
Для того чтобы включить контроллер CPU в cgroup v2 на современной версии Ubuntu, например, 22.04, нужно следовать нескольким шагам конфигурации системы. По умолчанию в Ubuntu используется cgroup v1 для управления процессором, но вы можете переключить систему на cgroup v2, следуя указанным ниже действиям. Это позволит вам использовать более современные механизмы управления ресурсами, предоставляемые cgroup v2.
Шаги по включению контроллера CPU в cgroup v2:
1. Настройка загрузчика GRUB
Чтобы переключить систему на использование cgroup v2, вам нужно изменить параметры загрузки ядра в конфигурации GRUB:
-
Откройте файл конфигурации GRUB для редактирования. Для этого выполните команду:
sudo nano /etc/default/grub
-
Добавьте параметр
cgroup_no_v1=all
к строкеGRUB_CMDLINE_LINUX_DEFAULT
. Таким образом, строка может выглядеть следующим образом:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_no_v1=all"
Данный параметр отключает поддержку cgroup v1 для всех подсистем, включая контроллер CPU, что позволяет cgroup v2 взять на себя управление.
2. Обновление конфигурации GRUB
После того как внесли изменения в конфигурацию, необходимо обновить настройки GRUB:
- Запустите обновление конфигурации GRUB с помощью команды:
sudo update-grub
3. Перезагрузка системы
Изменения вступят в силу после перезагрузки системы. Поэтому выполните команду:
sudo reboot
4. Проверка статуса cgroup v2
После перезагрузки вам необходимо убедиться, что контроллер CPU теперь доступен в cgroup v2:
-
Выполните следующую команду, чтобы проверить доступные контроллеры:
cat /sys/fs/cgroup/cgroup.controllers
-
В результате выполнения этой команды вы должны увидеть
cpu
среди перечисленных контроллеров. Это будет означать, что контроллер CPU успешно активирован в cgroup v2.
Заключение
С помощью указанных действий вы переключаете контроль ресурсов процессора на cgroup v2 в Ubuntu, что открывает доступ к более современным возможностям управления и мониторинга системных ресурсов. Это особенно полезно для тонкой настройки производительности и вывода контроля над использованием CPU на уровень, поддерживаемый современными инструментами и приложениями.
На этом процесс активации контроллера завершается, и теперь вы можете интегрировать этот функционал в вашу повседневную работу, улучшив управляемость и гибкость распределения ресурсов в системе.