Прилагались совместные усилия для того, чтобы сделать ядро FreeBSD
самонастраивающимся. Обычно вам не нужно разбираться ни с чем, кроме параметров
конфигурации ядра maxusers
и NMBCLUSTERS
. Это те параметры компиляции ядра, что указываются
(обычно) в файле /usr/src/sys/i386/conf/CONFIG_FILE. Описание всех доступных параметров
настройки ядра может быть найдено в файле /usr/src/sys/i386/conf/LINT.
В случае большой системы вам может понадобиться увеличить значение maxusers
. Значения этого параметра, как правило, располагаются в
диапазоне от 10 до 128. Заметьте, что слишком большое значение maxusers
может привести к переполнению доступной KVM, что влечет за
собой непредсказуемые результаты. Лучше задать некоторое разумное значение maxusers
и добавить другие параметры, такие, как NMBCLUSTERS
, для увеличения конкретных ресурсов.
Если ваша система будет интенсивно работать с сетью, вам может потребоваться увеличить
значение NMBCLUSTERS
. Обычно значения этого параметра
находятся в пределах от 1024 до 4096.
Параметр NBUF традиционно использовался для масштабирования системы. Этот параметр определяет количество KVA, которое может использоваться системой для отображения буферов файловой системы для ввода/вывода. Заметьте, что этот параметр не имеет никакого отношения с единым кэшируемым буфером! Этот параметр динамически настраивается в ядрах версии 3.0-CURRENT и более поздних и не должен изменяться вручную. Мы рекомендуем вам НЕ пытаться задавать значение параметра NBUF. Позвольте сделать это системе. Слишком маленькое значение может привести к очень низкой эффективности операций с файловой системой, когда как слишком большое значение может истощить очереди страниц, так как слишком много страниц окажутся связанными.
По умолчанию ядра FreeBSD не оптимизированы. Вы можете задать флаги отладки и
оптимизации при помощи директивы makeoptions в файле
конфигурации ядра. Заметьте, что вы не должны использовать параметр -g
, если не сможете использовать получающиеся при этом большие ядра
(обычно превышающие размером 7МБ).
makeoptions DEBUG="-g" makeoptions COPTFLAGS="-O -pipe"
Утилита sysctl дает возможность изменить параметры ядра во время его работы. Как правило, вам не приходится работать ни с какими sysctl-переменными, особенно с теми, что относятся к VM.
Тонкая оптимизация VM и системы во время работы сравнительно проста и понятна. Сначала включите использование Soft Updates на ваших файловых системах UFS/FFS везде, где это возможно. В файле /usr/src/contrib/sys/softupdates/README.softupdates находятся инструкции (и ограничения) по настройке этой функциональности.
Затем выделите достаточное количество пространства в области подкачки. Вы должны иметь на каждом физическом диске до четырех настроенных разделов подкачки, даже на ''рабочих'' дисках. Пространства в области подкачки должно быть не менее чем в два раза больше объема оперативной памяти, и даже больше, если памяти у вас не очень много. Вы должны также определять размер раздела подкачки, исходя из максимального объема оперативной памяти, который может быть на вашей машине, чтобы потом не выполнять разбиение диска повторно. Если вы хотите иметь возможность работы с дампом аварийного останова, то ваш первый раздел подкачки должен иметь объем, по крайней мере равный объему оперативной памяти, а в каталоге /var/crash должно быть достаточно свободного места для размещения дампа.
Подкачка поверх NFS прекрасно работает на системах версий 4.x и более поздних, но вы должны иметь в виду, что нагрузка от подкачки страниц ляжет на сервер NFS.
Пред. | Начало | След. |
Отображение памяти KVM | Уровень выше | Драйвера устройств |
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.