Команда Sysctl в Linux

Команда sysctl в Linux

Как системный администратор Linux, вам иногда может потребоваться изменить поведение ядра по умолчанию. Например, вам может потребоваться включить волшебную клавишу SysRq или увеличить количество принимаемых ядром подключений. Параметры ядра можно задать при сборке ядра, при загрузке системы или во время выполнения.

В этой статье объясняется, как использовать команду sysctl для просмотра и изменения параметров ядра во время выполнения.

Использование sysctl для просмотра параметров ядра

Чтобы просмотреть все текущие параметры ядра, вызовите команду sysctl с опцией -a :

 sysctl -a

В результате будет выведен большой список, который выглядит примерно так, как показано ниже, где каждая строка содержит имя параметра и его значение:

 abi.vsyscall32 = 1 debug.exception-trace = 1 debug.kprobes-optimization = 1 ...

Все пользователи могут просматривать текущие параметры ядра; изменять их значения может только пользователь root.

Вы можете проверить значение отдельного параметра, передав его имя в качестве аргумента sysctl . Например, чтобы проверить текущее значение swappiness, введите:

 sysctl vm.swappiness
 vm.swappiness = 60

Swappiness — это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки .

Команда sysctl считывает информацию из каталога /proc/sys . /proc/sys — это виртуальный каталог, содержащий файловые объекты, которые можно использовать для просмотра и настройки текущих параметров ядра.

Вы также можете просмотреть значение параметра, отобразив содержимое соответствующего файла. Разница лишь в том, как представлен файл. Например, команды sysctl vm.swappiness и cat /proc/sys/vm/swappiness дадут одинаковый результат. При использовании sysctl косые черты, обозначающие каталог, заменяются точками, и подразумевается часть proc.sys .

Использование sysctl для изменения параметров ядра

Чтобы задать параметр ядра во время выполнения, выполните команду sysctl , а затем имя параметра и значение в следующем формате:

 sysctl -w parameter=value

Если значение содержит пробелы или специальные символы, заключите его в двойные кавычки. Вы также можете передать несколько пар parameter=value в одной команде.

Будьте особенно осторожны при изменении настроек ядра в рабочей системе, так как это может сделать ядро нестабильным, и вам придется перезагрузить систему .

Например, чтобы включить пересылку пакетов IPv4, выполните:

 sysctl -w net.ipv4.ip_forward=1

Изменение вступает в силу немедленно, но не сохраняется. После перезагрузки системы загружается значение по умолчанию.

Чтобы установить параметр на постоянной основе, вам необходимо записать настройки в /etc/sysctl.conf или другой файл конфигурации в каталоге /etc/sysctl.d :

 sysctl -w net.ipv4.ip_forward=1 >> /etc/sysctl.conf

Другой способ изменить параметры — использовать команду echo для записи настроек в файлы в каталоге /proc/sys . Например, вместо выполнения команды выше можно использовать:

 echo 1 > /proc/sys/net/ipv4/ip_forward

Параметр -p позволяет загрузить настройки из файла конфигурации:

 sysctl -p /etc/sysctl.d/file_name.conf

Если файл не указан, sysctl считывает файл /etc/sysctl.conf .

Заключение

Команда sysctl позволяет просматривать и изменять параметры ядра Linux.

Если у вас есть вопросы, не стесняйтесь оставлять комментарии.

терминал ядра sysctl

Связанные руководства

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *