Руководство FreeBSD
Пред. | Глава 12. Настройка и оптимизация | След.

# 12.11. Настройка с помощью sysctl

sysctl(8) — это интерфейс, позволяющий вам вносить изменения в работающую систему FreeBSD. Эти изменения касаются многих опций стека TCP/IP и виртуальной памяти; опытный системный администратор может использовать их для существенного увеличения производительности. Более пяти тысяч системных переменных могут быть прочитаны и записаны с помощью sysctl(8).

По своей сути, sysctl(8) выполняет две функции: чтение и изменение настроек системы.

Для просмотра всех доступных для чтения переменных:

    % sysctl -a

Чтобы прочитать определённую переменную, например, `kern.maxproc`, введите:

    % sysctl kern.maxproc
    kern.maxproc: 1044

Для присвоения значения переменной, используйте выражение вида `переменная`=`значение`:

    # sysctl kern.maxfiles=5000
    kern.maxfiles: 2088 -> 5000

Изменяемые с помощью sysctl переменные обычно принимают значения либо строкового, либо целого, либо булевого типа. Переменные булевого типа могут принимать два значения (`1` (истина) и `0` (ложь)).

Если вы хотите устанавливать некоторые переменные автоматически при каждой загрузке компьютера, добавьте их в файл `/etc/sysctl.conf`. За дополнительной информацией обращайтесь к странице справочника sysctl.conf(5) и к Разд. 12.10.4.

## 12.11.1. Переменные sysctl(8) только для чтения

Предоставил Tom Rhodes.

В некоторых случаях желательно изменить переменные sysctl(8) только для чтения. Иногда другого способа решить проблему нет; при этом, результат может быть достигнут только на этапе начальной загрузки.

Например, на некоторых моделях лэптопов диапазон памяти устройства cardbus(4) не определяется и выдается приблизительно такая ошибка:

    cbb0: Could not map register memory
    device_probe_and_attach: cbb0 attach returned 12

Ситуации, похожие на эту, требуют изменения некоторых значений sysctl(8), модификация которых запрещена. Для разрешения этой ситуации пользователь может поместить sysctl(8) ''OID'' в файл `/boot/loader.conf`. Значения по умолчанию хранятся в файле `/boot/defaults/loader.conf`.

Решение проблемы, приведенной выше, потребует помещения строки `hw.pci.allow_unsupported_io_range=1` в вышеупомянутый файл. Теперь cardbus(4) будет работать нормально.

Пред. | Начало | След.
Файлы настройки | Уровень выше | Оптимизация дисков

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.