Настраиваемые параметры
Настраиваемые параметры системы
Изменение настраиваемых параметров
Изменение существующего параметра ядра системы
В этом разделе описываются процедуры изменения настраиваемых параметров операционной системы Unix. Система Unix использует схему Устанавливаемых управляющих программ/Настраиваемых параметров (ID/TP).
Настройка этих параметров может оказывать значительное влияние на работу системы (как положительное, так и отрицательное).
Перед настройкой ядра основательно продумайте использование своего компьютера, проанализируйте его текущую работу и рассмотрите другие факторы работы, например, организацию файловой системы, вторые промежуточные биты округления, эффективность $РАТН и размеры блоков файловой системы.
Настраиваемые параметры системы
Настраиваемые параметры системы используются для установления различных размеров таблиц. Начальные значения настраиваемых параметров применимы ко многим конфигурациям и прикладным системам.
Если ваша прикладная программа имеет особые требования к эффективности, вы можете проэкспериментировать с различными комбинациями значений параметров, чтобы найти оптимальную комбинацию. Чтобы изменить параметры ядра, следует выполнить реконфигурацию ядра системы Unix и повторную начальную загрузку системы.
Схема ID/TP размещает все настраиваемые параметры системы в файле mtune(*) в каталоге конфигураций ядра /etc/conf/cf.d.
Каждому настраиваемому параметру системы присваивается значение по умолчанию, а также минимальное и максимальное значения. Можно исследовать файл mtune, чтобы определить установки настраиваемого параметра для вашего компьютера, но изменять файл mtune не нужно.
Второй файл в каталоге конфигураций stune используется Для изменения значения параметра в пределах между минимальным и максимальным значениями, определенными в файле mtune. Также дается команда idtune для упрощения входа в файл stune (1m).
Изменение настраиваемых параметров
Файл mtune в системе SVR4.0 Versionl.O. абсолютно отличается от файла системы SVR3.2. Хотя некоторые параметры устарели и были заменены, намерение системы SVR4.0 - позволить всем прикладным программам системы SVR3.2 быть выполненным без изменений. По этой причине файл mtune SVR4.0 по-прежнему содержит старые параметры, позволяющие расширенным пакетам загружаться без ошибок или предупреждений. Настройка этих параметров не влияет на систему.
Динамическое распределение
В системе 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.
Заменяемые параметры
Следующие параметры были заменены в системе SVR4.0. Некоторые из этих параметров были заново реализованы в системе SVR4.0, чтобы постоянно находиться в структуре ресурсов системы (структура rlimit), определяющей "постоянные" и "непостоянные" границы каждого параметра. Настройка старого параметра не влияет на систему.
Примечание
Пары непостоянных и постоянных границ определяют значения системы по умолчанию, данные пользовательским процессам. Эти границы даны процессу 0, после этого дочерние процессы наследуют постоянные и непостоянные границы родительских процессов. Однако, когда процесс обрабатывает файл, пределы ресурсов этого процесса заново инициализируются до значений границ системы по умолчанию.
. Процессы могут изменять свои собственные значения этих грюниц, используя setrlimit. Непостоянные границы можно изменять, но значения должны быть меньше или равными значениям постоянных границ.
Только процессы, пользовательский идентификатор ID которого равен 0 (root), могут расширить их постоянные границы. Значение, равное RLIMIT_INFINITY (OxTFFFFFFF) обозначает, что ресурсы не имеют ограничений.
Теперь параметры в структуре rlimit выглядят так:
MAXUMEM заменяется на SVMHLIM, HVMMLIM NOFILES заменяется на SFNOLIM, HFNOLIM
ULIMIT
заменяется m SFSZLIM, HFSZLIM
Есть другие замененные, переименованные параметры и параметры с измененными значениями.
Эти параметры:
BOFLUSHR переименован в FDFLUSHR
NS5INODE заменен на NINODE
NBUF функция NBUF изменена
Удаленные параметры
Приведенные ниже параметры были удалены. В большинстве случаев возможность ядра, контролируемая этими параметрами, была переконструирована таким образом, что старый параметр оказывается неуместным.
AGEINTERVAL
GPGSHI
GPGSMSK
MAXFC
HAXSC
NADVERTISE
NKDVTTY
NLOCAL
NREGION
NREMOTE
RFHEAP
RFS_VHIGH
RFSJ/LOW
S52KNBUF
S52KNHBUF
SHMALL
STRLOFRAC
STRMEDFRAG o
VHNDFRAC
Параметры, специфические для данной системы
Имеется несколько параметров в файле mtune, которые релевантны только системе Unix SVR4.0 Versionl.O и не могут существовать в других реализациях SVR4.0.
Эти параметры таковы:
D0386B1
D0387CR3
OMAABLEBUF
DHAEXEC
KDBSYMSIZE
MAXHINOR
SYSSEGSZ
PIOSEGSZ
SEGMAPSZ
Покажем схему настраиваемых параметров системы, определенных в файле /etc/conf/cf.d/mtune. Они представлены в приблизительном порядке появления в файле mtune.
Категории параметров таковы:
Многие из этих параметров используются драйверами устройств или в других функциях ядра, являющихся частью расширенных пакетов, например, расширенного пакета Network Support Utilities (NSU) - Утилиты поддержки сети и расширенного пакета Remote File Sharing
(RFS) - Совместное использование удаленных файлов. Если эти пакеты не установлены, настройка значений параметров не повлияет на конфигурацию вашей системы.
Общие параметры ядра
NCALL
Определяет, сколько нужно выделить элементов для таблицы вызовов. Каждый элемент представляет функцию, которая активизируется позже с помощью части подпрограммы ядра взаимодействия с таймером. Это значение должно быть больше 2, оно обычно находится в пределах от 30 до 250. Значение по умолчанию 60. Каждый элемент содержит 16 байтов.
NFILE
Ранее параметр проверял, сколько элементов таблицы открытых файлов нужно выделить. Элементы таблицы файлов распределяются динамически.
NMOUNT
Ранее параметр проверял, сколько элементов монтируемой таблицы нужно выделить. Элементы монтируемой таблицы распределяются динамически.
NPROC
Ранее параметр проверял, сколько выделить элементов таблицы процессов. Элементы таблицы процессов распределяются динамически. NPROC до сих пор применяется как верхний предел некоторых пользовательских процессов; до сих пор существует предел в некоторых процессах, созданных каждым пользователем.
NREGION
Использование областей памяти было исключено.
NCLIST
Определяет, сколько нужно выделить буферов для списка символов. Каждый буфер содержит до 64 байтов. Буферы соединяются, чтобы сформировать очереди ввода и вывода для.линий терминала и других устройств с малой скоростью.
Нет необходимости использовать clists в диалоговых драйверах, драйверах целочисленного последовательного порта или в драйверах построчно-печатающего устройства (параллельного порта). Механизм clist и настраиваемый параметр NCLIST ошраняются для использования в платах расширений в множественных портах, обеспечиваемых поставщиком.
MAXUP
Определяет, сколько параллельных процессов разрешается выполнять непривилегированному пользователю. Обычно значение элемента находится в диапазоне от 15 до 40. Значение по умолчанию 30. Это значение на один идентификационный номер пользователя, а не на один терминал.
NOFILES
Ранее этот параметр определял максимальное количество открытых файлов на один процесс. Сейчас эта граница системы является частью структуры rlimit (предел ресурса).
NHBUF
Определяет, сколько ячеек хеш-таблицы нужно выделить. Они используются для поиска буфера с номером устройства и номером блока; в этом случае нет надобности осуществлять линейный поиск по всему списку буферов. Каждый элемент содержит 12 байтов. Значение по умолчанию 64. Это значение должно быть степенью 2.
NPBUF
Определяет, сколько физических буферов ввода/вывода нужно выделить. Для каждого физического процесса считывания или записи нужен один буфер ввода/вывода. Каждый элемент содержит 52 байта. Значение по умолчанию 20.
NAUTOUP
Определяет возраст буфера в секундах для автоматического изменения файловой системы. Буфер системы записывается на жесткий диск, когда хранится в памяти в период, определенный параметром NAUTOUP.
Определение меньшего предела повышает надежность системы с помощью более частой записи буферов на диск и снижает эффективность системы. Определение большего предела повышает эффективность системы в ущерб надежности. Значение по умолчанию 60 секунд.
FDFLUSHR
Определяет в секундах скорость проверки необходимости записи буферов файловой системы на диск. Значение по умолчанию 1 секунда. Этот параметр заменяет BDFLUSHR, используемый в SVR3.2.
BDFLUSHR
Данный параметр системы SVR3.2 был переименован в FDFLUSHR.
МАХРМЕМ
Определяет максимальный объем физической памяти для использования на страницах памяти. Значение по умолчанию 0 определяет, что используется весь объем имеющейся физической памяти.
SHLBMAX
Определяет максимальное число статических общих библиотек, которые могут быть подключены к процессу одновременно. Система SVR4.0 Versionl.O также поддерживает динамические общие библиотеки. Этот параметр влияет на использование статических общих библиотек только в прикладных программах системы SVR3.2.
FLCKREC
Ранее этот параметр контролировал количество структур записей с блокировкой, используемых системой. Эти элементы распределяются динамически.
PUTBUFSZ
Определяет размер циклического буфера putbuf, который используется для хранения в нем копии последних символов PUTBUFSZ, записанных на консоль операционной системой. Содержимое putbuf можно обследовать, используя команду crash (1M).
MAXSLICE
Определяет с помощью отметок времени максимальный квант времени для пользовательских процессов. После выполнения процесса в течение выделенного времени, этот процесс приостанавливается.
Затем операционная система координирует процессы с наивысшим приоритетом и выделяет для них отметки времени MAXSLICE. Обычно значение MAXSLICE 1 секунда.
ULIMIT
Ранее этот параметр определял размер самого большого файла, который обычный пользователь может записать в 512-байтовые блоки. Заменяется параметрами SFNOLIM и HFNOLIM.
SPTMAP
Определяет размер массива элементов карты, используемого для управления пространством для виртуального адреса ядра. Пользователи не должны изменять этот параметр.
РIOМАР
Определяет размер массива элементов карты, используемого в команде останова программируемого ввода/вывода ядра. Эта программа позволяет драйверам устройств осуществлять программируемый ввод/вывод больших блоков данных на уровне прерывания путем разбиения блоков данных на меньшие единицы данных. Пользователи не должны изменять этот параметр.
PIOMAXSZ
Максимальное количество страниц памяти для одноразового использования во время программируемого ввода/вывода. Пользователи не должны изменять этот параметр.
MAXMINOR
Данный параметр ограничивает максимальный номер устройства, который может иметь узел устройства, созданный при вызове команды mknod (2). Хотя сейчас система Unix допускает номер устройства до 0x37777, этот параметр ограничивается пределом 255 системы SVR3.2 (в целях обеспечения совместимости).
NGROUPS_MAX
Определяет число фупп пользователей, которым 'может принадлежать пользователь. Система SVR4.0 имеет новое свойство, позволяющее пользователю иметь доступ одновременно к многочисленным группам, не выполняя команду newgrp. Значение по умолчанию 16.
Ядро ограничивает значения этого параметра диапазоном от 0 до 32, несмотря на установку настраиваемого параметра.
NBUF
Блок ввода/вывода использует и буферы и заголовки буферов. Когда нужен заголовок буфера, а свободных заголовков нет, система динамически выделяет больше заголовков буферов по несколько порций заголовков NBUF за один раз.
Общее число заголовков в системе не ограничивается, однако настраиваемый параметр BUFNWM ограничивает количество килобайтов, используемых буферами, а это, в свою очередь, эффективно ограничивает количество заголовков буферов, которые будут выделены.
После выделения пространства для заголовков буферов его нельзя освободить для других целей. Поэтому надо быть осторожным, когда увеличиваете значение NBUF.
Более высокое значение NBUF уменьшает количество вызовов программы распределения ресурсов памяти ядра, которая вызывается для выделения пространства для заголовков буферов; но это может также привести к выделению ненужных заголовков.
BUFNWM
Ограничивает количество килобайтов памяти, которую может использовать блок буферов ввода/вывода. Если sar -b показывает, что коэффициент совпадения буферов низкий, тогда нужно увеличить значение параметра BUFNWM.
ARG_MAX
Это максимальное количество символов (включая NULL (нулевые) символы), допускаемое в установках аргументов и строк среды. Его можно увеличить, обеспечив
тем самым большее количество списков аргументов, но оно не должно быть меньше 5120.
RSTCHOWN
Определяет признак изменений принадлежности ограниченного файла. Достоверными значениями RTSCHOWN являются только 0 и 1. Находясь в системе SVR3, владелец файла может изменить значение userlD и groupID файла на любое другое, включая значения несуществующих userlD и groupID.
Значение RTSCHOWN, установленное в 1, обозначает режим совместимости FIPS/BSD. Это ограничивает возможность изменить принадлежность файла. Только привилегированный пользователь или корневые процессы (значение эффективного идентификатора которого равно 0) могут изменять принадлежность файла.
Владелец файла может только заменить идентификатор группы файла на одну из групп, членом которой является владелец. Привилегированный пользователь и корневые процессы могут изменить значение идентификатора групп , файла на любое другое. ;
Параметры файловой системы
NINODE
Определяет количество элементов в таблице индексных дескрипторов файлов "s5". "s5" относится к типу файловой системы "System V". В системе SVR3.2 этот параметр управлял всеми индексными дескрипторами файлов систем всех типов.
В системе SVR4.0 механизм vnode заменяет переключатель файловой системы, a NINODE определяет только число индексных дескрипторов файлов "s5". В SVR4.0 таблица индексных дескрипторов файлов фактически является связанным списком. Каждый элемент имеет 204 Кбайта.
Эмпирическое правило - выделить 100 для каждого мегабайта памяти, допуская что "s5" - главный используемый тип файловой системы. Использование
"sar -v" помогает убедиться, что этот параметр установлен правильно.
NS5INODE
Параметр удален.
UFSNINODE
Количество элементов индексных дескрипторов файлов системы ufs. Если главной файловой системой является ufs, тогда должно быть выделено приблизительно 100 элементов индексных дескрипторов файлов на каждый мегабайт памяти.
NDQUOT
Размер таблицы ядра пространства, выделенного для файловой системы ufs.
Для каждого пользователя - 1 элемент; поэтому значение NDQUOT должно быть больше максимального числа, пользователей, которые могут войти в систему, если ufs - главный тип файловой системы.
Если выделенное пространство задействовано, тогда элементы таблицы ограничивают количество выделенного дискового пространства.
Если элементов нет, на операторском терминале печатается сообщение "dquot table full". Если это происходит, нужно увеличить значение NDQUOT.
NRNODE
Максимальное количество структур mode, которое выделяется для NFS (файловой системы сети). Значение по умолчанию 300.
S52KNBUF
Раньше определял сколько 2 Кбайтов буферов системы нужно выделить. Этот параметр не функционирует в SVR4.0.
S52KNHBUF
Раньше определял, сколько ячеек хэш-таблицы нужно выделить для 2 Кбайтов буферов. Этот параметр не функционирует в системе SVR4.0.
Параметры подкачки
Следующие параметры используются ядром системы и следующим процессом подкачки pageout, которые отвечают за освобождение области памяти по мере надобности:
VHNDFRAC
Раньше управлял параметром следующего процесса подкачки в SVR3.2. Заново реализован в SVR4.0.
AGEINTERVAL
Раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в SVR4.0.
GPGSLO
Определяет нижнюю отметку свободной памяти в страницах, чтобы следящий процесс pageout начал изъятие страниц из процессов. Значение по умолчанию 25.
Чтобы сделать следящий процесс более активным, увеличьте значение; уменьшите значение, чтобы сделать следящий процесс менее активным (это должно быть целое число >=0).
GPGSHI
Ранее управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в SVR4.0.
MAXSC
Ранее управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в SVR4.0.
MAXFC
Ранее - параметр следящего процесса подкачки в SVR3.2. Заменяется параметрами SVMMLIN и HVMMLIN.
MAXUMEM
Ранее определял максимальный размер пространства виртуального адреса пользователя в страницах в SVR3.2; DFN MINARMEM определяет минимальное количество страниц памяти для текстов и сегментов данных пользовательских процессов.
MINASMEM
Пороговое значение, определяющее количество страниц памяти и подкачки для целей системы.
MINAKMEM
Пороговое значение минимального количества страниц, зарезервированное как непостоянное пороговое значение kmem_alloc во избежание тупиковых ситуаций.
M1NHIDUSTK
Ранее ассоциировался с местом пользовательского стека в SVR3.2. Этот параметр не функционирует в SVR4.0.
MINUSTKGAP
Ранее ассоциировался с местом пользовательского стека в SVR3.2. Этот параметр не функционирует в SVR4.0.
PAGES_UNLOCK
Данный параметр использовался в ранней версии SVR4 и остался формальным параметром.
Параметры STREAMS
Параметры, приведенные ниже, связаны с обработкой потоков данных:
NQUEUE
Ранее определял количество очередей STREAMS для конфигурации. Очереди выделяются динамически.
NSTREAM
Ранее определял количество структур "Stream_head" для конфигурации. Эти структуры выделяются динамически.
NSTRPUSH
Максимальное количество модулей, которые можно запустить в поток. Используется для предотвращения использования всех имеющихся очередей в одном потоке со стороны ошибочного пользовательского процесса. По умолчанию это значение 9, на практике же существующие прикладные программы помещают в поток самое большее 4 модуля.
NSTREVENT
Ранее определял начальное количество ячеек памяти потока для конфигурации. Выделяются динамически.
MAXSEPGCNT
Ранее определял количество дополнительных страниц памяти, которые динамически распределяются. Этот параметр не функционирует в SVR4.0.
NMUXLINK
Ранее определял максимальное число связей мультиплексоров для конфигурирования. Распределяется динамически.
STRMSGSZ
Максимально допустимый размер порции данных любого сообщения STREAMS. Значение устанавливается довольно большое, чтобы разместить защищенные данные (с максимальным пакетным размером) всех конфигурированных модулей STREAMS. Значение 0 указывает на отсутствие верхнего предела.
STRCTLSZ
Максимально допустимый размер контрольной порции данных любого сообщения STREAMS. Контрольная порция данных сообщения putmsg (2) не подлежит ограничению по пакетному размеру, поэтому вводимое здесь значение - единственно возможный способ ограничения контрольной части сообщения. Рекомендуемое значение 1024 - более чем достаточно для существующих прикладных программ.
STRTHRESH
Максимальное общее количество байтов, обычно допускаемое для распределения потоков данных. Когда порог перейден, пользователям без привилегий не разрешается открывать потоки, помещать модули в потоки или записывать на потоковые устройства; то же самое относится к параметру ENOSR (он вне ресурсов потоков).
Привилегированным пользователям разрешается делать все. Обратите внимание, что пороговое значение относится только к выходным данным, поэтому на входные
данные это не влияет. Значение 0 обозначает, что порога нет.
STRLOFRAC
Ранее определял процент блоков данных данного класса, в котором автоматически не выполнялись запросы на выделение блоков с низким приоритетом. Этот параметр не функционирует в SVR4.0.
STRMEDFRAC
Ранее определял процент остановов, при котором не выполнялось распределение блоков со средним приоритетом. Этот параметр не функционирует в SVR4.0.
NLOG
Определяет количество номеров устройств, имеющихся в аналоговом интерфейсе драйвера регистрации (/dev/sp), поддерживаемых системой.
NUMSP
Определяет количество устройств программного канала STREAMS, поддерживаемых системой.
NUMTIM
Максимальное количество модулей STREAMS, которые можно ввести в интерфейс транспортной библиотеки (ТЫ). Это значение контролирует количество структур данных, используемых для хранения данных конфигурации модулей, введенных в потоки.
NUMTRW
Определяет количество структур данных для считывания/записи в ТЫ, которое нужно выделить в пространстве данных ядра системы.
NUMSAD
Количество номеров устройств, имеющееся в драйвере администратора потоков (SAD).
NSTRPHASH
Размер внутренних ячеек хэш-таблицы. Этот параметр не нужно изменять, если количество драйверов в системе не станет очень большим.
NAUTOPUSH
Количество устройств, которые можно сконфигурировать для автопроталкивания в стек.
Если SAD_SAP ioctl не выполняется с еггпо, установленным в значение ENOSR, тогда это количество нужно увеличить.
Параметры взаимодействия процессов
Следующие настраиваемые параметры связаны с сообщениями о взаимодействии процессов, семафорами и общими данными:
MSGMAP
Определяет размер контрольной карты, используемо? для работы с разделами сообщений. Значение по умолчани 100. Каждый элемент содержит 8 байтов.
MSGMAX
Определяет максимальный размер сообщения. Значение по умолчанию 2048. Хотя максимально возможный размер, который может обработать ядро системы - 64 килобайта, ограничение mtune 8192.
MSGMNB
Определяет максимальную длину очереди сообщени Значение по умолчанию 4096.
MSGMNI
Определяет максимальное количество очередей сообщений в системе. Значение по умолчанию 50.
MSGSSZ
Определяет размер в байтах размера сообщения. Сообщения состоят из непрерывной последовательности сегментов сообщений, размер которых позволяет уместит текст.
Значение по умолчанию 8. Значение MSGSSZ дол> быть меньше 128 Кбайтов.
MSGTQL
Определяет количество заголовков сообщений в системе и количество сообщений, ожидающих обработки. Значение по умолчанию 40. Каждый элемент содержит 12 байтов.
MSGSEG
Определяет количество сегментов сообщений. Значение по умолчанию 1024.
SEMMAP
Определяет размер контрольной карты, используемой для установки значений семафора. Значение по умолчанию 10. Каждый элемент содержит 8 байтов.
SEMMNI
Определяет количество идентификаторов семафора в ядре системы. Это число уникальных установок семафора, которые могут действовать в любое заданное время. Значение по умолчанию 10, Каждый элемент содержит 32 байта.
SEMVMX
Определяет максимальное значение семафора. Значение по умолчанию 32767. Это значение максимальное для этого параметра.
SEMAEM
Определяет установку максимального значения на выходе, псевдоним semadj. Это значение используется, когда значение семафора становится больше или равно абсолютному значению semop (2), если у программы нет своего собственного значения. Значение по умолчанию 16384. Это максимальное значение для данного параметра.
SHMMAX
Определяет максимальный размер сегмента общей области памяти. Значение по умолчанию 524288.
SHMMIN
Определяет минимальный размер сегмента общей области памяти. Значение по умолчанию 1.
SHMMNI
Определяет максимальное количество идентификаторов общей области памяти во всей системе. Значение по умолчанию 100. Каждый элемент содержит 112 байтов.
SHMSEG
Определяет количество подсоединенных сегментов общей области памяти на один процесс. Значение по умолчанию 6. Максимального значения для этого параметр] нет. Максимальное количество сегментов общей области памяти на один процесс не зависит от того, сколько есть у процесса неиспользованного пространства.
SHMALL
Ранее определял максимальное количество используемых сегментов текста в общей области памяти. Этот параметр не функционирует в SVR4.0.
Параметры общих удаленных файлов
Есть несколько параметров, которые можно настраивать для наилучшего соответствия способу использования общих удаленных файлов.
Параметры общих удаленных файлов контролируют объем ресурсов системы, выделяемых для совместного использования удаленных файлов.
У каждого поставщика транспорта сети тоже могут быть настраиваемые параметры, которые могут влиять на показатели эффективности этой особой сети.
Учтите, что эти параметры не влияют на вашу систем если не реализован пакет расширений RFS.
NRCVD
Максимальное число дескрипторов приемников. Система создает один дескриптор приемника для каждого файла или каталога, ссылки на которые делает удаленный пользователь, и один - для каждого процесса в вашей ЭВ ожидающего отклика на удаленный запрос.
Если вы ограничиваете количество дескрипторов приемников, вы тем самым ограничиваете количество локальных файлов и каталогов, одновременный доступ к которым могут иметь удаленные пользователи. Результатом выхода за границы будут сообщения об ошибках для команд удаленных пользователей.
NSNDD
Максимальное число дескрипторов отправителей. Для каждого дистанционного ресурса, на который ссылаются ваши пользователи, система создает дескриптор отправителя. Дескриптор отправителя также выделяется для каждого процесса отправителя и каждого сообщения, ожидающего в очереди приема. Можно изменить это значение до того предела, который равен количеству удаленных файлов и каталогов, к которым одновременно может обратиться ваша ЭВМ.
Это, в свою очередь, ограничивает количество действий пользователей по совместному использованию удаленных файлов. Результат выхода за допустимые границы - сообщения об ошибках для пользовательских команд.
NSRMOUNT
Элементы таблицы монтируемых обслуживающих устройств. Это значение используется в обслуживающих устройствах и ограничивает число пользователей монтируемых таблиц, которые существуют параллельно. Оно ограничивает ресурсы машины, которые могут использовать RFS. Если машина не использует файловый процессор, это значение должно быть больше.
NADVERTISE
Таблица объявленных ресурсов. Раньше устанавливал максимум ресурсов, которые вы можете объявить. Этот параметр не функционирует в SVR4.0.
MAXGDP
Виртуальные каналы. Есть две связи (виртуальные каналы), установленные в сети между вами и каждой машиной, совместно с которой вы используете ресурсы. Одно соединение для каждой машины, ресурсы которой вы монтируете, и одно - для каждого компьютера, который монтирует ваши ресурсы. Виртуальный канал создается, когда компьютер впервые монтирует ресурс из другого канала, и демонтируется, когда демонтируется последний ресурс. Этот параметр ограничивает число виртуальных каналов общих удаленных файлов, которые могут быть открытыми в сети.
Имейте в виду, что у данной сети может быть ограниченное количество каналов в любом компьютере, поэтому данный параметр оказывает влияние на максимальный процент тех параметров, которые могут использоваться для общих удаленных файлов.
MINSERVE
Минимальное количество процессов спецпроцессора. Ваша система использует спецпроцессор для обработки удаленных запросов на ресурсы. Этот параметр устанавливает, сколько процессов спецпроцессора действует в вашем компьютере.
MAXSERVE
Максимальное количество процессов спецпроцессора. Когда имеется больше удаленных запросов на ресурсы, чем может обработать минимум процессоров, ваш компьютер может временно создать дополнительные. Этот параметр устанавливает общее максимальное количество процессов спецпроцессора (MINSERVE плюс количество динамически создаваемых параметров).
NRDUSER
Данное значение определяет количество элементов дескриптора приемника user, которое нужно выделить. Каждый элемент представляет использование в машине пользователя одного из ваших файлов или каталогов.
Один дескриптор приемника выделяется для каждого файла или каталога с удаленным доступом (NRCVD); могут быть и множественные элементы дескриптора приемника user для каждого пользователя, применяющего файл или каталог (NRDUSER). Эти элементы используются во время восстановления. Это значение должно быть примерно в 1,5 раза больше значения NRCVD.
RFHEAP
Ранее определял размер в байтах области памяти для информации RFS. Этот параметр не функционирует в SVR4.0.
NREMOTE
Буферы с удаленным доступом. Ранее устанавливал минимальное количество локальных буферов из общей области буферов, зарезервированных для считывания данных удаленных ресурсов. Этот параметр не функционирует в SVR4.0.
RCACHETIME
Время использования кэша. Интервал в секундах, который должен исчезнуть после последнего обновления файла до того, как будет заново разрешено использование кэша для файла.
RFS_VHIGH
Ранее определял наибольший номер версии RFS, с которой взаимодействует ваш компьютер. Этот параметр не функционирует в SVR4.0.
RFS_BL
Ранее определял наименьший номер версии RFS, с которой взаимодействует ваш компьютер. Этот параметр не функционирует в SVR4.0.
RFJHAXKMEM
Ограничивает постоянно распределяемую область памяти ядра системы, используемую системой rfs, включая информацию об отображении дескрипторов, списки прав доступа и дескрипторы отображения. Нулевое значение означает, что границ нет.
Параметры XENIX
DSTFLAG
Временный признак для поддержки вызова системы XENIX ftime(). Этот параметр устанавливает значение timeb.dstflag, возвращенное вызовом системы ftime().
NSCRN
Количество мультиэкранов для поддержки системы XENIX
NEMAP
Количество отображений ввода/вывода для поддержк отображения символов системы XENIX European.
TIMEZONE
Параметр устанавливает значение timeb.timezone, возвращенное вызовом команды ftime().
XSEMMAX
Определяет количество семафоров в системе XENIX. Значение по умолчанию и максимальное значение 60.
XSDSEGS
Определяет количество сегментов в общих данных системы. Значение по умолчанию 25.
XSDSLOTS
Определяет максимальное количество подключений сегментов общих данных XENIX, допускаемое системой. Значение по умолчанию и максимальное значение 3.
Различные параметры
DO386B1
Контролирует использование Bl Stepping как
программное решение проблем при производстве первых микросхем 386. Этот параметр нельзя устанавливать в "1".
DO387CR3
Контролирует установку разрядов высшего порядка i управляющем регистре Control Register 3 (CR3) при монтировании микросхемы 80387. Этот параметр используется для управления программными решениями проблем синхронизации 386/387 при производстве первых микросхем.
DMAEXCL
Данный параметр управляет программным замком, который ограничивает 4-канальный контроллер прямою
доступа в память DMA работой только одного канала одновременно. Это значит не следует использовать его возможность передавать данные одновременно по отдельным каналам. Таким было программное решение проблем, связанных с запуском микросхем первых выпусков. Установка параметра в 1 приводит к использованию одного канала. Поддерживается только для драйверов типа XENIX.
MAXDMAPAGE
Пропускная способность физического контроллера прямого доступа в память DMA в страницах. В 386 контроллере каждая страница содержит 4096 байтов. В процессорах с 24-х разрядными контроллерами DMA этот параметр устанавливается в 4096 страниц.
В процессорах с 28-х разрядными контроллерами DMA он устанавливается в 65536. В машинах с 32-х разрядными контроллерами он устанавливается в 0. Нулевое значение указывает, что не требуется проверка со стороны ядра системы перед началом работы DMA.
DMAABLEBUF
Число страниц DMA для резервирования. Значение по умолчанию 70 страниц.
KDBSYMSIZE
Это размер таблицы символов, внутренней по отношению к расширению отладчика ядра системы. Если отладчик ядра системы не установлен в вашей системе, тогда этот параметр не действует.
SYSSEGSZ
Объем пространства виртуального адреса для распределения. Используется либо для kma, где виртуальные адреса резервируются в физической памяти, либо для памяти устройства, отображаемой в ядро системы. Значение по умолчанию 2048 (8 Мбайтов области памяти), максимальное значение 16 Мбайтов. Чтобы увеличить максимальное значение, нужно изменить таблицу виртуальных адресов ядра системы.
PIOSEGSZ
Объем пространства виртуального адреса для программируемого ввода/вывода. Текущее минимальное, максимальное и значение по умолчанию каждое равно 1024. Его нельзя менять; оно было превращено в настраиваемый параметр для возможного будущего расширения.
SEGMAPSZ
Объем пространства виртуального адреса для отображений ядра системы пользовательских запросов на считывание/запись. Текущая реализация допускает максимально 4 Мбайта памяти ядра системы для пользовательских запросов на ввод/вывод. Текущее минимальное, максимальное и значение по умолчанию каждое равно 1024. Его нельзя изменять; оно было превращено в настраиваемый параметр для возможного будущего расширения.
Параметры драйверов устройств
NUMXT
Определяет количество xt уровней, которые сконфигурировали подустройства для поддержки устройств с растровым дисплеем с поточной адресацией.
NUMSXT
Определяет количество уровней оболочки системного ядра, конфигурируемых подустройствами.
NCPYRIGHT
Определяет размер структуры данных ядра системы, используемой для печати сообщений об инициализации. Пользователям не следует изменять этот параметр.
NKDVTTY
Ранее проверял количество виртуальных терминалов (ttys), поддерживаемых драйвером операторской клавиатуры. В SVR4.0. параметр не действует и заменяется информацией файла /etc/default/workstations.
PRFMAX
Максимальное количество текстовых символов, которое может обработать система построения профиля программы (/dev/prf).
CMF
Признак операторского сообщения. Этот параметр используется для расширения System Message (sysmsg) - системных сообщений. Если этого расширения в вашей системе нет, этот параметр не действует.
COM2CONS
Данный параметр используется в расширениях системных сообщений (sysmsg). Он управляет использованием /dev/ttyOl (com 2 port) как операторским терминалом, даже если присутствует интегральная клавиатура/дисплей. Если расширения нет в вашей системе, этот параметр не действует.
RIDEOUT
Данный параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует.
MNR.ON
Данный параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует.
SANECNT
Данный параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует.
USANEON
Данный параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует.
Параметры Asyncio
NAIOSYS
Максимальное количество известных системных вызовов асинхронного ввода/вывода. Используегся модуле "async", не являющимся частью основной системы SYR4.0.
MINAIOS
Минимальное количество процессоров асинхронного ввода/вывода. Используется модулем "async", не являющимся частью основной системы SVR4.0.
MAXAIOS
Максимальное количество процессоров асинхронной ввода/вывода. Используется модулем "async", не являющимся частью основной системы SVR4.0.
AIOTIMEOUT
Количество секунд, в течение которых процессор асинхронного ввода/вывода ожидает начала работы. Используется модулем "async", не являющимся частью основной системы SVR4.0.
NAIOPROC
Допустимое количество запросов на асинхронный ввод/вывод на один процесс. Используется модулем "asyn< не являющимся частью основной системы SVR4.0.
Параметры событий
MEVQUEUES
Максимальное количество структур событий ядра системы (evkev_t) для распределения. Используется моду; "events", не являющимся частью основной системы SVR4
MEVKEVS
Максимальное количество структур очереди событи (evqueue_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4
MEVEXPREFS
Максимальное количество структур ссылок на выражения о событиях (evexref_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0.
MEVEXPRS
Максимальное количество выражений со структурами событий (evexpr_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0.
MEVTERMS
Максимальное количество структур термов событий (evterm_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0.
MEVSEXPRS
Максимальное количество структур выполненных выражений о событиях (evsexpr_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0.
MEVSTERMS
Максимальное количество структур выполненных термов событий (evsterm_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0.
MEVTIDS
Максимальное количество структур идентификаторов прерываний (evtid_t) для распределения.
Используется модулем "events", не являющимся частью основной системы SVR4.0.
MEVRETRYS
Максимальное количество структур повторной передачи (evretry_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0.
MEVEXITS
Максимальное количество структур выхода событий (evexit_t) для распределения. Используется модулем "event! не являющимся частью основной системы SVR4.0.
MEVSIGS
Максимальное количество сигнальных структур событий (evsig_t) для распределения. Используется модуле "events", не являющимся частью основной системы SVR4.(
MEVSTRDS
Максимальное количество структур данных потока (evd_stream_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.(
MEVDIRENTS
Максимальное количество элементов каталога (dirent_t) для распределения. Используется модулем "events не являющимся частью основной системы SVR4.0.
EVDATA
Максимальное количество байтов, выделяемых для хранения данных, зависящих от типа событий, и для други различных целей. Используется модулем "events", не являющимся частью основной системы SVR4.0.
EVTIDHTS
Количество элементов в хэш-таблице идентификаторов внутренних прерываний. Параметр должен быть числом, являющимся степенью числа 2. Используется модулем "events", не являющимся частью основной системы SVR4.0.
EVFNHTS
Количество элементов в хэш-таблице файловых имен Значение параметра должно быть числом, являющимся степенью числа 2. Используется модулем "events", не являющимся частью основной системы SVR4.0.
EVMAXEV
Максимальное количество событий по умолчанию, допускаемых в очереди. Используется модулем "events", не являющимся частью основной системы SVR4.0.
EVMAXDPE
Максимальное количество по умолчанию байтов данных, допустимых для одного события. Используется модулем "events", не являющимся частью основной системы SVR4.0.
EVMAXMEM
Максимальное общее количество байтов данных (по умолчанию), разрешенных в памяти для всех событий в очереди событий. Используется модулем "events", не являющимся частью основной системы SVR4.0.
EVMAXTRAPS
Максимальное количество по умолчанию выражений с прерываниями для одного процесса. Используется модулем "events", не являющимся частью основной системы SVR4.0.
EVMAXETERMS
Максимальное количество термов по умолчанию в одном выражении. Используется модулем "events", не являющимся частью основной системы SVR4.0.
Параметры диспетчера/планировщика/таймера
HRTIME
Данный параметр используется для определения размера массива hrtimes. Массив используется для сохранения дорожки от запроса на переход в режим ожидания или на аварийный сигнал для генератора импульсов реального времени.
HRVTIME
Параметр используется для определения размера массива itimes. Массив используется для сохранения дорожки запросов на аварийный сигнал для того, чтобы генератор тактовых импульсов мог измерить виртуальное время пользовательского процесса.
RTMAXPRI
Диапазон, в котором пользователи могут регулировать пользовательский приоритет процесса реального времени, от -RTMAXPRI до +RTMAXPRI.
RTNPROCS ......
Определяет размер таблицы, содержащей информацию о приоритете для процессов реального времени.
TSMAXUPRI
Диапазон, в котором пользователи могут регулировать пользовательский приоритет процесса разделения времени, от -TSMAXUPRI до +TSMAXPRI.
Планирование конфигурации с более высокими значениями позволяет пользователям тщательнее контролировать приоритет их процессов (учтите, что только привилегированный пользователь может повысить приоритет). Значение по умолчанию 20 - это степень контроля, эквивалентная той, что была в прошлом в интерфейсе nice (2).
TSNPROCS
Определяет размер таблицы, содержащей информацию о приоритете для процессов разделения времени.
MAXCLSYSPRI
Максимальный глобальный приоритет, используемый классом планировщиков SYS для планирования процессов ядра системы. Изменение этого параметра изменяет диапазон приоритетов и может значительно повлиять на работу системы.
Как правило, нет необходимости изменять этот параметр, если вы не добавляете новые классы планировщиков или заново не конфигурируете приоритеты других сконфигурированных классов.
Параметры границ ресурса (структура rlimit)
Следующие параметры представляют значения по умолчанию в границах ресурса процесса, использующихся для объявления структуры rlimit. В системе SVR4.0. команда ulimit (1) возвращает пользователю несколько новых границ ядра системы, взятых из структуры rlimib
В следующих параметрах префикс S обозначает гибкие границы, префикс Н - жесткие границы. Любой пользовательский процесс может изменить свои гибкие
границы до соответствующей жесткой границы. Только root может увеличить (расширить) жесткие границы. Установка параметра в OxTFFFFFFF указывает на неопределенную границу.
SCPULIM
Гибкая граница с максимальным значением объединяла пользовательское и системное CPU время в секундах, разрешаемое процессом. Сигнал SIGXCPU посылается процессам, время CPU которых превышает это значение.
HCPULIM
Максимальное значение SCPULIM.
SFSZLIM
Гибкая граница, определяющая наибольшее смещение в байтах любого одиночного файла, который может создаваться процессом. Сигнал SIGXFSX посылается процессам, которые пытаются записать файл, смещение которого больше этого значения.
К тому же запись будет неудачной с ошибкой EFBIG. Этот параметр замещает параметр ULIMIT системы SRV3.2., существуют способы преодоления этой границы ядра системы на уровне пользователей, например, команда ulimit (1) и строка ULIMIT в каталоге /etc/default/login.
SDATLIM
Максимальное значение SFSZLIM.
SDATLIM
Гибкая граница, определяющая максимальный размер в байтах динамической области процесса. Если процесс пытается расширить свою динамическую область за пределами этой границы, используя brk (2), попытка потерпит неудачу и сообщение об ошибке будет установлено в значение ENOMEM.
HDATLIM
Максимальное значение SDATLIM.
SSTKLIM
Гибкая граница, определяющая максимальный размер в байтах сегмента стека для процесса. Это определяет границу автоматического роста стека с помощью системы. Сигнал SIGSEGV посылается процессам, пытающимся увеличить стек за пределы его значения. Если процесс не организован так, чтобы улавливать этот сигнал в отдельном стеке, процесс прекратится.
HSTKLIM
Максимальное значение SSTKLIM.
SCORLIM
Гибкая граница, определяющая наибольший размер в байтах файла ядра, который может быть создан.
Гибкая граница 0 предотвращает создание файлов ядра.
HCORLIM
Максимальное значение SCORLIM.
SFNOLIM
Гибкая граница, определяющая максимальное число открытых файлов, которое может иметь процесс. Когда этот предел превзойден, попытки открыть файлы терпят неудачу и сообщение об ошибке будет установлено в EMFILE. Обратите внимание, что этот параметр замещает параметр NOFILE системы SRV3.2.
HFNOLIM
Максимальное значение SFNOLIM.
SVMMLIM
Гибкая граница, определяющая максимальное пространство адреса. Попытки увеличить пространство адреса процесса за пределы этого значения неудачны, с ошибкой ENOMEM.
HVMMLIM
Максимальное значение SVMMLIM.
Некоторые системы Unix одновременно поддерживают десятки пользователей. По мере добавления пользователей к этим системам добавляются аппаратные средства с дополнительной памятью и параметры системы настраиваются так, чтобы ядро системы Unix могло более эффективно работать.
Это зачастую включает назначение дополнительной памяти пространству данных ядра. Обычно это позволяет системе поддерживать больше пользователей.
Однако увеличение размера структур данных ядра приводит к тому, что ядру требуется больше времени на просмотр этих структур, и фактически увеличение значений определенных параметров может замедлить работу системы.
В системе SVR4.0. необходимость перенастраивать систему сокращается для тех ситуаций, когда добавляется память или ожидается, что систему будет использовать больше пользователей. И все это благодаря динамическому распределению структур критических данных ядром системы.
Особые случаи
Часто использование системы требует настройки определенных параметров на особые условия. Общая необходимость - создавать очень большие файлы.
Это можно выполнить, если стать привилегированным пользователем и изменить "ulimit" для процесса оболочки ядра shell командой ulimit (1) или путем изменения строки ULIMIT в файле /etc/default/login. Альтернативное г, решение - модифицировать систему SFNOLIM для всех пользователей.
Сообщения ядра системы о превышении границ системы
Бывают случаи, когда ядро системы Unix рекомендует превысить границы системы. Эти сообщения поступают на консоль оператора.
Некоторые сообщения только рекомендательные, в других случаях распечатываются дополнительные
диагностическйежоОбщения, требующие повторной начальной загрузки.
Если такие сообщения возникают, необходимо обратиться к соответствующему настраиваемому параметру за дополнительной информацией.
Кэш-буферы
Системы Unix используют буферы памяти для хранения данных, записанных или считанных с диска. Буферы используются повторно.
В системе SVR3.2 и ранних системах Unix размер кэш-буфера соответствовал значению настраиваемого параметра главной системы.
В системе SVR4.0 буферы распределяются системой как нужно.
Изменение существующего параметра ядра системы
Файл stune используется для изменения настраиваемого параметра системы из его значения по умолчанию в файле mtune. В файле stune имеются только те параметры, которые будут установлены в значения, отличающиеся от требуемых по умолчанию системой.
Хотя основная система определяет лишь несколько значений в stune, в пакетах расширений драйверов устройств могут быть дополнительные элементы. Файл stune можно отредактировать, чтобы изменить значение, уже помещенное туда, и добавить дополнительный параметр, который вы хотите установить в значение, отличающееся от значения по умолчанию в файле mtune.
В файле /etc/conf/bin дается сценарий idtune для упрощения модификации и добавления элемента stune. Этот сценарий особенно полезен при подготовке пакетов расширений ПО, которые нужны для изменения параметра системы.
Данная команда использует индивидуальные параметры системы, осуществляет поиск в файле stune и изменяет существующее значение или добавляет параметр к файлу stune, если он не определен. Выбранное значение всегда должно быть в пределах от минимального до максимального значения в файле ratune.
Хотя не рекомендуется устанавливать значение параметра за пределы, указанные в файле mtune, если требуется, чтобы параметр был установлен в значение выше, чем это разрешено, вы можете отрегулировать пределы.
Переконфигурация ядра системы для разрешения новых параметров
После модификации файла stune нужно повторно выполнить конфигурацию системы с помощью команды /etc/conf/bin/idbuild. Затем систему нужно закрыть и заново запустить.
С помощью команды idbuild строится новое ядро системы Unix и устанавливается файл, который используется при закрытии системы. Новое ядро системы Unix будет связано с /stand/unix; оно автоматически выполняется при следующем повторном запуске.
Для модификации параметра выполните следующие действия:
1. Модифицируйте файл /etc/conf/cf .d/stune. Это можно сделать или отредактировав файл stune, или выполнив команду idtune.
2. Выполните команду /etc/conf/bin/idbuild.
3. Выполните команду cd /, чтобы попасть в корневой каталог и наберите:
/etc/shutdown -16 -g0 -у
Что делать, если система не запускается
Если новое ядро системы не запускается должным образом, возможно это связано с удаленными ЭВМ. Это может случиться, если параметр системы или комбинация нескольких измененных параметров построили слишком большое ядро системы Unix для начальной загрузки или ядро, которое не инициализируется должным образом. В таком случае для восстановления системы выполняются следующие шаги:
1 .Вставить гибкий диcк N1 ПО основной системы.
2. Загрузить систему с гибкого диска.
3. После запроса системы вставить гибкий диск N2.
4. Когда появится подсказка Strike RETURN to install the Unix system on your hard disk, нажать Del, чтобы выйти из программы инсталляции.
5. Проверить и смонтировать жесткий диск, затем скопировать ядро системы с помощью следующих команд:
/etc/fs/bfs/fsck -у /dev/dsk/0s10
/etc/fs/bfs/mount /dev/dsk/0s10 /mnt j
cp /unix /mnt/stand/unix
umount /dev/dsk/0s10
6. Удалить гибкий диск и загрузить восстановленное ядро системь!
7. Изменить параметры файла /etc/conf/cf.d/stune, установив их в их первоначальные значения и выполнить команду idbuild, затем сделать начальную загрузку системы.