Настраиваемые параметры
13.1. Введение
В этом разделе описываются процедуры изменения настраиваемых параметров операционной системы UNIX. Система UNIX использует схему Устанавливаемых управляющих программ/Настраиваемых параметров (ID/TP). Настройка этих параметров может оказывать значительное влияние на работу системы (как положительное, так и отрицательное). Перед настройкой ядра основательно продумайте использование своего компьютера, проанализируйте его текущую работу и рассмотрите другие факторы работы, например, организацию файловой системы, вторые промежуточные биты округления, эффективность $PATH и размеры блоков файловой системы.
13.2. Настраиваемые параметры системы
Настраиваемые параметры системы используются для установления различных размеров таблиц. Начальные значения настраиваемых параметров применимы ко многим конфигурациям и прикладным системам. Если ваша прикладная программа имеет особые требования к эффективности, вы можете проэкспериментировать с различными комбинациями значений параметров, чтобы найти оптимальную комбинацию. Чтобы изменить параметры ядра, следует выполнить реконфигурацию ядра системы UNIX и повторную начальную загрузку системы.
Схема ID/TP размещает все настраиваемые параметры системы в файле mtune(*) в каталоге конфигураций ядра /etc/conf/cf.d.
Каждому настраиваемому параметру системы присваивается значение по умолчанию, а также минимальное и максимальное значения. Можно исследовать файл mtune, чтобы определить установки настраиваемого параметра для вашего компьютера, но изменять файл mtune не нужно. Второй файл в каталоге конфигураций stune используется для изменения значения параметра в пределах между минимальным и максимальным значениями, определенными в файле mtune. Также дается команда idtune для упрощения входа в файл stune (1m).
Файл mtune в системе SVR4.0 Version1.0. абсолютно отличается от файла системы SVR3.2. Хотя некоторые параметры устарели и были заменены, намерение системы SVR4.0 - позволить всем прикладным программам системы SVR3.2 быть выполненным без изменений. По этой причине файл mtune SVR4.0 по-прежнему содержит старые параметры, позволяющие расширенным пакетам загружаться без ошибок или предупреждений. Настройка этих параметров не влияет на систему.
13.3. Изменение настраиваемых параметров
13.3.1. Динамическое распределение
В системе SVR4.0 многие параметры были заменены динамическим распределением. Во многих случаях, когда ядру или дисководу нужно больше ресурсов памяти, используется программа распределения ресурсов памяти kmalloc ядра системы SVR4.0. Если настраивается старый параметр (SVR3.2), он не влияет на систему, однако, теперь ядро автоматически следит за этими ресурсами, поэтому настройка старого параметра ничему не вредит. В списке параметры SVR3.2 динамически распределяются таким образом:
FLCKREC MAXSEPGCNT NBLK4096 NBLK2048 NBLK1024 NBLK512 NBLK256 NBLK128 NBLK64 NBLK16 NBLK4 NFILE NMOUNT NMUXLINK NQUEUE NSTREAM NSTREVENT
Примечание. Параметр NPROC больше не управляет распределением элементов в таблице "proc table", однако, параметр еще используется в системе SVR4.0.
13.3.2. Заменяемые параметры
Следующие параметры были заменены в системе SVR4.0. Некоторые из этих параметров были заново реализованы в системе SVR4.0, чтобы постоянно находиться в структуре ресурсов системы (структура rlimit ), определяющей "постоянные" и "непостоянные" границы каждого параметра. Настройка старого параметра не влияет на систему.
Примечание. Пары непостоянных и постоянных границ определяют значения системы по умолчанию, данные пользовательским процессам. Эти границы даны процессу 0, после этого дочерние процессы наследуют постоянные и непостоянные границы родительских процессов. Однако, когда процесс обрабатывает файл, пределы ресурсов этого процесса заново инициализируются до значений границ системы по умолчанию.
Процессы могут изменять свои собственные значения этих границ, используя setrlimit. Непостоянные границы можно изменять, но значения должны быть меньше или равными значениям постоянных границ. Только процессы, пользовательский идентификатор ID которого равен 0 ( root ), могут расширить их постоянные границы. Значение, равное RLIMIT_INFINITY ( 0x7FFFFFFF ) обозначает, что ресурсы не имеют ограничений.
Теперь параметры в структуре rlimit выглядят так:
MAXUMEM заменяется на SVMMLIM, HVMMLIM NOFILES заменяется на SFNOLIM, HFNOLIM ULIMIT заменяется на SFSZLIM, HFSZLIM
Есть другие замененные, переименованные параметры и параметры с измененными значениями. Эти параметры:
BDFLUSHR переименован в FDFLUSHR NS5INODE заменен на NINODE NBUF функция NBUF изменена
13.3.3. Удаленные параметры
Следующие параметры были удалены. В большинстве случаев возможность ядра, контролируемая этими параметрами, была переконструирована таким образом, что старый параметр оказывается неуместным.
AGEINTERVAL GPGSHI GPGSMSK MAXFC MAXSC NADVERTISE NKDVTTY NLOCAL NREGION NREMOTE RFHEAP RFS_VHIGH RFS_VLOW S52KNBUF S52KNHBUF SHMALL STRLOFRAC STRMEDFRAC VHNDFRAC
13.3.4. Параметры, специфические для данной системы
Есть несколько параметров в файле mtune, которые релевантны только системе UNIX SVR4.0 Version1.0 и не могут существовать в других реализациях SVR4.0. Эти параметры таковы:
DO386B1 DO387CR3 DMAABLEBUF DMAEXEC KDBSYMSIZE MAXMINOR SYSSEGSZ PIOSEGSZ SEGMAPSZ
Другие параметры расширенного пакета
Далее показана схема настраиваемых параметров системы, определенных в файле /etc/conf/cf.d/mtune. Они представлены в приблизительном порядке появления в файле mtune. Категории параметров таковы:
- общие параметры ядра;
- параметры файловой системы;
- параметры подкачки;
- параметры STREAMS;
- параметры взаимодействия процессов;
- параметры общих удаленных файлов (RFS);
- параметры XENIX;
- различные параметры;
- параметры драйверов устройств;
- параметры синхронного ввода/вывода (ASYNCIO);
- параметры событий;
- параметры таймера и планировщика;
- параметры границ ресурса (структура rlimit ).
Многие из этих параметров используются драйверами устройств или в других функциях ядра, являющихся частью расширенных пакетов, например, расширенного пакета Network Support Utilities (NSU) - Утилиты поддержки сети и расширенного пакета Remote File Sharing (RFS) - Совместное использование удаленных файлов. Если эти пакеты не установлены, настройка значений параметров не повлияет на конфигурацию вашей системы.