Где найти документацию для /boot/config-?

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

Я работаю над пониманием того, как включен контроллер ресурсов памяти cgroups в Ubuntu 20.04. У меня есть несколько машин с Ubuntu, которые составляют кластер Slurm 23.02.7. В cgroup.conf SchedMD утверждает:

Debian и его производные (например, Ubuntu) обычно исключают cgroups памяти и memsw (swap) по умолчанию. Чтобы включить их, добавьте следующие параметры к командной строке ядра: cgroup_enable=memory swapaccount=1

Если я следую этому совету и выполняю:

root@node01:~# grep CONFIG_MEMCG /boot/config-5.4.0-169-generic
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
# CONFIG_MEMCG_SWAP_ENABLED is not set
CONFIG_MEMCG_KMEM=y

Кажется, что вопреки мнению SchedMD, контроллер памяти cgroups уже включен по умолчанию. Однако я хотел бы получить официальную документацию о том, что именно означает каждая переменная в /boot/config-5.4.0-169-generic. Я искал связанную страницу руководства, но не нашел ее.

Вопрос:

  1. Какая страница руководства или другая документация описывает конфигурации, установленные в /boot/config-5.4.0-169-generic?

Конфигурация ядра для Linux управляется файлами Kconfig (примерно по одному на каталог), которые включают/выключают функции или количество экземпляров. Файлы /boot/config-XXX — просто дамп текущих настроек. Вам нужно посмотреть в разделе help для каждого значения в файлах, чтобы увидеть, что там сказано.

Вы можете использовать эти файлы конфигурации как входные данные для make oldconfig, чтобы предустановить функции, а затем использовать make menuconfig для получения интерактивного меню для их изменения.

https://docs.kernel.org/kbuild/kconfig-language.html может быть хорошим началом, вместе с копией дерева исходного кода ядра (чтобы увидеть файлы Kconfig).

Ответ или решение

Вопрос о документации для файла конфигурации ядра /boot/config-<kernel_version> является актуальным, особенно в контексте вашего исследования того, как включен контроллер ресурсов памяти cgroups в Ubuntu 20.04. Исследуем этот вопрос более глубоко.

Теория

Файл /boot/config-<kernel_version> представляет собой конфигурацию ядра для установленной версии Linux. Эти файлы являются результатом настроек различных параметров сборки ядра и отражают, какие функции включены или отключены в данной версии.

Конфигурация ядра определяется исходными файлами Kconfig, которые расположены в исходном дереве ядра Linux. Эти файлы содержат информацию о доступных параметрах сборки ядра и их описания. Они используются инструментами конфигурации ядра, такими как make menuconfig, для упрощения процесса настройки.

Пример

Рассмотрим конкретный пример из вашего вопроса. Вы использовали команду grep CONFIG_MEMCG /boot/config-5.4.0-169-generic и увидели следующие строки:

  • CONFIG_MEMCG=y: Это означает, что поддержка cgroups для управления памятью включена в данной конфигурации.
  • CONFIG_MEMCG_SWAP=y: Поддержка для swap-учета также включена.
  • # CONFIG_MEMCG_SWAP_ENABLED is not set: Этот параметр закомментирован и не установлен, что может указывать на индивидуальную опцию, которую нужно включить.

Каждый из этих параметров имеет описание и назначение, которое можно определить, анализируя соответствующие Kconfig файлы в исходном коде ядра.

Применение

Чтобы увидеть полную документацию и описание каждого параметра, вам нужно обратиться к исходникам ядра. Вот пошаговая инструкция:

  1. Получение исходников ядра: Установите соответствующую версию исходного кода ядра. Это можно сделать через пакетный менеджер apt или загрузить его напрямую с сайта kernel.org.

  2. Исследование Kconfig файлов: В исходном дереве ядра найдите файлы Kconfig. Эти файлы содержат информацию о параметрах конфигурации ядра, включая их описание. Например, можно найти файл Kconfig, связанный с настройками памяти и cgroups, и внимательно изучить секцию help для каждого параметра.

  3. Использование инструментов конфигурации: Запустите команды make oldconfig и make menuconfig, используя текущий файл конфигурации как вводные данные. Это позволит вам увидеть интерактивное меню с параметрами конфигурации, где вы сможете прочитать описания и при необходимости изменить настройки.

Ресурсы для начала

Для начала ознакомьтесь с документацией по языку Kconfig и инструментам, используемым для настройки ядра. Прекрасным ресурсом будет документация по языку Kconfig, а также любой учебник по ядру Linux, который объясняет общий подход к конфигурации ядра.

Резюме

Файл /boot/config-<kernel_version> содержит текущие настройки конфигурации для вашего ядра Linux. Чтобы глубже понять смысл каждого параметра, необходимо обратиться к исходникам, особенно к Kconfig файлам, и использовать описательные секции help для изучения параметров. Использование интерактивных инструментов настройки также поможет в наглядном понимании каждой настройки. Профессиональный подход к изучению этой информации позволит вам более эффективно управлять и настраивать вашу среду Ubuntu, особенно в том, что касается поддержки cgroups и управления ресурсами памяти в вашем кластере.

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

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