Некоторые полезные sysctl MIBS FreeBSD – ЧАСТЬ 1

Это приложение представляет собой словарь полезных sysctl MIB, а также некоторые sysctl MIB, не столь полезные, но уже давно обсуждаемые на форумах FreeBSD. Инструменты для управления MIB обсуждаются в главе 5. Когда MIB подробно рассматривается в том или ином месте книги, приводится ссылка на соответствующую главу. Безусловно, в вашей системе намного больше sysctl, однако с представленными здесь параметрами я сталкиваюсь многократно.

Помните, что необдуманное применение sysctl может легко причинить ущерб работающей системе. Так, если установить на использование ресурсов предел ниже необходимого уровня, это может привести к аварийному завершению работы процесса или системы. Перед настройкой sysctl убедитесь, что вы представляете последствия своих действий. Если вы не понимаете назначение того или иного sysctl, поэкспериментируйте с ним на тестовой системе.

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

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

Для каждого sysctl указано, является он переменной, переключателем или настраиваемым параметром (tunable). Переменные имеют широкий диапазон значений. Переключатели имеют только два значения, 1 (описываемый сервис активизирован) и 0 (сервис отключен). Настраиваемые параметры устанавливаются загрузчиком. (Строго говоря, настраиваемый параметр отличается от sysctl, но, определяя значение настраиваемого параметра, вы тем самым определяете значение sysctl.)

kern.osrelease: 7.0-RELEASE

Только для чтения. Содержит номер версии FreeBSD, например 7.2-release, 8.0-current и т. д.

kern.maxvnodes: 100000

Переменная времени исполнения. Максимальное количество виртуальных файловых дескрипторов (vnodes, дескрипторов виртуальной файловой системы), которые могут быть одновременно открыты в системе.

kern.maxproc: 6164

Настраиваемый параметр времени загрузки. Максимальное количество процессов, которые система может запустить одновременно.

kern.maxfiles: 12328

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

kern.argmax: 262144

Только для чтения. Максимальное количество символов, которые можно использовать в одной командной строке. При необычных обстоятельствах этот предел может оказаться слишком маленьким. В подобных ситуациях используйте xargs(l).

kern.securelevel: -1

Переменная времени исполнения. Текущий уровень безопасности ядра. Подробности в главе 9.

kern.hostname: bewilderbeast.blackhelicopters.org

Настраиваемый параметр времени исполнения. Имя хоста, устанавливается в /etc/rc.conf.

kern.posixlversion: 200112

Только для чтения. Версия POSIX, которой соответствует ядро. Если требуется изменить это значение, не стесняйтесь, предлагайте проекту свой код поддержки других версий POSIX.

kern, ngroups: 16

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

kern, boottime: {sec = 1187744126, usee = 946476} Tue Aug 21 20:55:26 2007

Только для чтения. Время загрузки системы, причем в двух форматах – в секундах от начала эпохи и в привычном для человека.

kern.domainname:

Переменная времени исполнения. Имя домена YP/NIS, а не имя домена TCP/IP. Если вы не используете YP/NIS, значение переменной будет пустым.

kern.osreldate: 700052

Только для чтения. Это версия FreeBSD, без фактической даты. Различные «порты» используют это значение для конфигурирования самих себя.

kern.bootfile: /boot/kernel/kernel

Только для чтения. Файл ядра, с которым загрузилась система. Формально вы можете изменить это значение, но не делайте это. Лучше выполните перезагрузку на новое ядро. Единственный случай, когда этот параметр изменяется в работающей системе, – это установка нового ядра и сохранение старого с именем /boot/ker- nel.old. Но это особый случай.

kern.maxfilesperproc: 11095

Переменная времени исполнения. Максимальное количество файлов, которые может открыть один процесс.

kern.maxprocperuid: 5547

Переменная времени исполнения. Максимальное количество процессов, которые одновременно может запустить один пользователь.

kern.ipc.somaxconn: 128

Переменная времени исполнения. Максимальное количество новых соединений, которые система может принять одновременно. На сильно нагруженном сервере значение этого параметра можно увеличить до 256 или даже до 512.

kern.ipc.maxpipekva: 16777216

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

kern.ipc.pipekva: 212992

Только для чтения. Текущий объем памяти, используемый каналами.

kern.ipc.shmmax: 33554432

Переменная времени исполнения. Максимальный размер сегмента разделяемой памяти System V. Возможно, вам придется настроить его для программ, использующих большие объемы разделяемой памяти, например для баз данных.

kern.ipc.shmseg: 128

Настраиваемый параметр времени загрузки. Максимальное число сегментов разделяемой памяти System V, которое может открыть один процесс.

kern.ipc.shmall: 8192

Переменная времени исполнения. Максимальное число страниц, доступных для разделяемой памяти System V.

kern.ipc.shm_use_phys: 0

Переключатель времени исполнения, настраиваемый параметр времени загрузки. Позволяет запретить свопинг сегментов разделяемой памяти. Это может повысить производительность при использовании больших объемов разделяемой памяти System V, но это исключит возможность пейджинга разделяемой памяти, что может привести к снижению производительности других программ в вашей системе.

kern.ipc.numopensockets: 70

Только для чтения. Число открытых сокетов всех видов, включая сетевые и локальные сокеты.

kern.ipc.maxsockets: 12328

Переменная времени исполнения, настраиваемый параметр времени загрузки. Общее количество сокетов, доступных в системе. Включает в себя сокеты домена UNIX, а также сетевые сокеты.

kern.logsigexit: 1

Переключатель времени исполнения. При аварийном завершении программа обычно посылает сигнал. Если установлен этот переключатель, имя программы и сигнал завершения будут протоколироваться в /иаг/log/messages.

kern.init_path: /sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/ /stand/sysinstall

Только для чтения. init(8) – это программа, запускающая систему. Если вы повредили систему (например, в результате неудачного обновления), с помощью этого sysctl можно указать серию резервных каталогов, где система может попытаться отыскать копию программы init(8). Этот sysctl также доступен в загрузчике как init path.

kern.init_shutdown_timeout: 120

Переменная времени исполнения. Число секунд, в течение которых пользовательские процессы должны завершиться самостоятельно во время процедуры останова системы. По истечении этого времени ядро прекращает работу независимо от того, какие процессы остались запущенными.

kern.randompid: 0

Переменная времени исполнения. При установке в 0 каждый следующий запущенный процесс получает идентификатор на единицу больше предыдущего. При установке боЖыпего значения значение следующего PID выбирается случайным образом. С ростом значения этого sysctl увеличивается и случайность следующего PID.

kern.openfiles: 246

Только для чтения. Количество файлов, открытых в системе на данный момент.

kern.module_path: /boot/kernel;/boot/modules

Переменная времени исполнения. Список каталогов, в которых kldload(8) проверяет наличие модулей ядра.

kern.maxusers: 384

Настраиваемый параметр времени загрузки. В течение многих лет параметр kern. maxusers позволял системному администратору в BSD и FreeBSD определить, сколько памяти выделить для выполнения некоторых системных задач. Современные системы FreeBSD автоматически выбирают значение kern, maxusers. Любая документация, предлагающая изменить kern. maxusers, почти наверняка устарела, kern.sync_on_panic: О

Переключатель времени исполнения. В случае паники FreeBSD (глава 21) размонтирует все диски без синхронизации, что приводит к образованию грязных дисков, о чем говорилось в главе 8. Если установить этот sysctl в значение 1, FreeBSD попытатется синхронизировать диски перед остановкой. Это крайне опасно, поскольку нет никакой возможности узнать состояние запаниковавшей системы. В некоторых случаях попытка синхронизации дисков после паники может повредить данные или файловую систему, в результате запаникует не только система, но и системный администратор.

kern.coredump: 1

Переключатель времени исполнения. По умолчанию при аварийном завершении программы FreeBSD записывает дамп памяти. Если установлено значение 0, дамп памяти не создается. Это весьма полезно на встроенных и бездисковых системах, kern.nodump_coredump: О

Переключатель времени исполнения. Позволяет автоматически устанавливать флаг nodump для файлов core. Подробности в главе 4. kern.timecounter.choice: TSC(-100) i8254(0) dummy(-1000000)

Только для чтения. Список аппаратных часов, доступных в системе. Большинство современных аппаратных средств имеют четыре общих варианта, в порядке убывания предпочтительности: ACPI, i8254, ТСК и dummy. Числа дают относительную точность различных часов.

kern, timecounter. hardware: i8254

Переменная времени исполнения. Изменяя эту переменную, вы можете использовать различные аппаратные часы. Выбранный вариант записывается в параметр sysctl kern. timecounter. choice. По умолчанию FreeBSD использует наиболее предпочтительные часы из имеющихся.

kern.timecounter.smp_tsc: 0

Настраиваемый параметр времени загрузки. Значение 0 предотвращает использование аппаратных часов TSC. Эти часы неправильно работают в большинстве многопроцессорных систем.

kern.sched.name: 4BSD

Только для чтения. Имя планировщика в запущенном ядре, kern.sched.quantum: 100000

Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

1 комментарий к записи “Некоторые полезные sysctl MIBS FreeBSD – ЧАСТЬ 1”

  1. Arseny says:

    >Любая документация, предлагающая изменить kern. maxusers, почти наверняка устарела // а откуда информация, что эта инфомрация устаревшая? 🙂

Оставить комментарий