Как просмотреть и изменить параметры ядра с помощью Sysctl

12 set 2022 2 min di lettura
Как просмотреть и изменить параметры ядра с помощью Sysctl
Indice dei contenuti

Введение

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

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

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

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

sysctl -a

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

abi.vsyscall32 = 1
 debug.exception-trace = 1
 debug.kprobes-optimization = 1
 dev.cdrom.autoclose = 1
 dev.cdrom.autoeject = 0
 dev.cdrom.check_media = 0
 dev.cdrom.debug = 0
 dev.cdrom.info = CD-ROM information, Id: cdrom.c 3.20 2003/12/17
 dev.cdrom.info =
 dev.cdrom.info = drive name: sr0
 dev.cdrom.info = drive speed: 4
 dev.cdrom.info = drive # of slots: 1...

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

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

sysctl vm.swappiness
vm.swappiness = 60

Подкачка — это свойство ядра 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.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.