В этом разделе описываются процедуры изменения настраиваемых параметров операционной системы UNIX. Система UNIX использует схему Устанавливаемых управляющих программ/Настраиваемых параметров (ID/TP). Настройка этих параметров может оказывать значительное влияние на работу системы (как положительное, так и отрицательное). Перед настройкой ядра основательно продумайте использование своего компьютера, проанализируйте его текущую работу и рассмотрите другие факторы работы, например, организацию файловой системы, вторые промежуточные биты округления, эффективность $PATH и размеры блоков файловой системы.
Настраиваемые параметры системы используются для установления различных размеров таблиц. Начальные значения настраиваемых параметров применимы ко многим конфигурациям и прикладным системам. Если ваша прикладная программа имеет особые требования к эффективности, вы можете проэкспериментировать с различными комбинациями значений параметров, чтобы найти оптимальную комбинацию. Чтобы изменить
Схема ID/TP размещает все настраиваемые параметры системы в файле mtune(*) в каталоге конфигураций ядра /etc/conf/cf.d.
Каждому настраиваемому параметру системы присваивается значение по умолчанию, а также минимальное и максимальное значения. Можно исследовать файл mtune, чтобы определить установки настраиваемого параметра для вашего компьютера, но изменять файл mtune не нужно. Второй файл в каталоге конфигураций stune используется для изменения значения параметра в пределах между минимальным и максимальным значениями, определенными в файле mtune. Также дается команда idtune для упрощения входа в файл stune (1m).
Файл mtune в системе mtune
В системе kmalloc ядра системы
FLCKREC MAXSEPGCNT NBLK4096 NBLK2048 NBLK1024 NBLK512 NBLK256 NBLK128 NBLK64 NBLK16 NBLK4 NFILE NMOUNT NMUXLINK NQUEUE NSTREAM NSTREVENT
Примечание. Параметр NPROC больше не управляет распределением элементов в таблице "proc table", однако, параметр еще используется в системе
Следующие параметры были заменены в системе 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 изменена
Следующие параметры были удалены. В большинстве случаев возможность ядра, контролируемая этими параметрами, была переконструирована таким образом, что старый параметр оказывается неуместным.
AGEINTERVAL GPGSHI GPGSMSK MAXFC MAXSC NADVERTISE NKDVTTY NLOCAL NREGION NREMOTE RFHEAP RFS_VHIGH RFS_VLOW S52KNBUF S52KNHBUF SHMALL STRLOFRAC STRMEDFRAC VHNDFRAC
Есть несколько параметров в файле mtune, которые релевантны только системе UNIX
DO386B1 DO387CR3 DMAABLEBUF DMAEXEC KDBSYMSIZE MAXMINOR SYSSEGSZ PIOSEGSZ SEGMAPSZ
Другие параметры расширенного пакета
Далее показана схема настраиваемых параметров системы, определенных в файле /etc/conf/cf.d/mtune. Они представлены в приблизительном порядке появления в файле mtune. Категории параметров таковы:
rlimit ).Многие из этих параметров используются драйверами устройств или в других функциях ядра, являющихся частью расширенных пакетов, например, расширенного пакета Network Support Utilities (NSU) - Утилиты поддержки сети и расширенного пакета Remote
NCALL - определяет, сколько нужно выделить элементов для таблицы вызовов. Каждый элемент представляет функцию, которая активизируется позже с помощью части подпрограммы ядра взаимодействия с таймером. Это значение должно быть больше 2, оно обычно находится в пределах от 30 до 250. Значение по умолчанию 60. Каждый элемент содержит 16 байтов;NFILE - раньше параметр проверял, сколько элементов таблицы открытых файлов нужно выделить. Элементы таблицы файлов распределяются динамически;NMOUNT - раньше параметр проверял, сколько элементов монтируемой таблицы нужно выделить. Элементы монтируемой таблицы распределяются динамически;NPROC - раньше параметр проверял, сколько выделить элементов NREGION - использование областей памяти было исключено;NCLIST - определяет, сколько нужно выделить буферов для списка символов. Каждый буфер содержит до 64 байтов. Буферы соединяются, чтобы сформировать clist и настраиваемый параметр NCLIST сохраняются для использования в платах расширений в MAXUP - определяет, сколько параллельных процессов разрешается выполнять непривилегированному пользователю. Обычно значение элемента находится в диапазоне от 15 до 40. Значение по умолчанию 30. Это значение на один идентификационный номер пользователя, а не на один терминал;NOFILES - раньше этот параметр определял максимальное количество открытых файлов на один процесс. Сейчас эта граница системы является частью структуры rlimit (предел ресурса);NHBUF - определяет, сколько ячеек хеш-таблицы нужно выделить. Они используются для поиска буфера с номером устройства и номером блока; в этом случае нет надобности осуществлять линейный поиск по всему списку буферов. Каждый элемент содержит 12 байтов. Значение по умолчанию 64. Это значение должно быть степенью 2;NPBUF - определяет, сколько физических буферов ввода/вывода нужно выделить. Для каждого физического процесса считывания или записи нужен один буфер ввода/вывода. Каждый элемент содержит 52 байта. Значение по умолчанию 20;NPBUF - определяет, сколько физических буферов ввода/вывода нужно выделить. Для каждого физического процесса считывания или записи нужен один буфер ввода/вывода. Каждый элемент содержит 52 байта. Значение по умолчанию 20;FDFLUSHR - определяет в секундах скорость проверки необходимости записи буферов файловой системы на диск. Значение по умолчанию 1 секунда. Этот параметр заменяет BDFLUSHR, используемый в SVR3.2;BDFLUSHR - этот параметр системы SVR3.2 был переименован в FDFLUSHR ;MAXPMEM - определяет максимальный объем физической памяти для использования на страницах памяти. Значение по умолчанию 0 определяет, что используется весь объем имеющейся физической памяти;SHLBMAX - определяет максимальное число статических общих библиотек, которые могут быть подключены к процессу одновременно. Система FLCKREC - раньше этот параметр контролировал количество структур записей с блокировкой, используемых системой. Эти элементы распределяются динамически;PUTBUFSZ - определяет размер циклического буфера putbuf, который используется для хранения в нем копии последних символов PUTBUFSZ, записанных на консоль операционной системой. Содержимое putbuf можно обследовать, используя команду crash (1M) ;MAXSLICE - определяет с помощью отметок времени максимальный квант времени для пользовательских процессов. После выполнения процесса в течение выделенного времени, этот процесс приостанавливается. Затем операционная система координирует процессы с наивысшим приоритетом и выделяет для них отметки времени MAXSLICE. Обычно значение MAXSLICE 1 секунда;ULIMIT - раньше этот параметр определял размер самого большого файла, который обычный пользователь может записать в 512-байтовые блоки. Заменяется параметрами SFNOLIM и HFNOLIM ;SPTMAP - определяет размер массива элементов карты, используемого для управления пространством для виртуального адреса ядра. Пользователи не должны изменять этот параметр;PIOMAP - определяет размер массива элементов карты, используемого в команде останова программируемого ввода/вывода ядра. Эта программа позволяет драйверам устройств осуществлять программируемый ввод/вывод больших блоков данных на уровне прерывания путем разбиения блоков данных на меньшие единицы данных. Пользователи не должны изменять этот параметр;PIOMAXSZ - максимальное количество страниц памяти для одноразового использования во время программируемого ввода/вывода. Пользователи не должны изменять этот параметр;MAXMINOR - этот параметр ограничивает максимальный номер устройства, который может иметь узел устройства, созданный при вызове команды mknod(2). Хотя сейчас система UNIX допускает номер устройства до 0x37777,этот параметр ограничивается пределом 255 системы SVR3.2 (в целях обеспечения совместимости);NGROUPS_MAX - определяет число групп пользователей, которым может принадлежать пользователь. Система newgrp. Значение по умолчанию 16. Ядро ограничивает значения этого параметра диапазоном от 0 до 32, несмотря на установку настраиваемого параметра;NBUF - блок ввода/вывода использует и буферы и заголовки буферов. Когда нужен заголовок буфера, а свободных заголовков нет, система динамически выделяет больше заголовков буферов по несколько порций заголовков NBUF за один раз. Общее число заголовков в системе не ограничивается, однако настраиваемый параметр BUFNWM ограничивает количество килобайтов, используемых буферами, а это, в свою очередь, эффективно ограничивает количество заголовков буферов, которые будут выделены. После выделения пространства для заголовков буферов его нельзя освободить для других целей. Поэтому надо быть осторожным, когда увеличиваете значение NBUF. Более высокое значение NBUF уменьшает количество вызовов программы распределения ресурсов памяти ядра, которая вызывается для выделения пространства для заголовков буферов; но это может также привести к выделению ненужных заголовков;BUFNWM - ограничивает количество килобайтов памяти, которую может использовать блок буферов ввода/вывода. Если sar -b показывает, что коэффициент совпадения буферов низкий, тогда нужно увеличить значение параметра BUFNWM ;ARG_MAX - это максимальное количество символов (включая NULL (нулевые) символы), допускаемое в установках аргументов и строк среды. Его можно увеличить, обеспечив тем самым большее количество списков аргументов, но оно не должно быть меньше 5120;RSTCHOWN - определяет признак изменений принадлежности ограниченного файла. Достоверными значениями RTSCHOWN являются только 0 и 1. Находясь в системе SVR3, userID и groupID файла на любое другое, включая значения несуществующих userID и groupID . Значение RTSCHOWN, установленное в 1, обозначает режим совместимости FIPS/BSD. Это ограничивает возможность изменить принадлежность файла. Только привилегированный пользователь или корневые процессы (значение эффективного идентификатора которого равно 0) могут изменять принадлежность файла. NINODE - определяет количество элементов в таблице NINODE определяет только число NS5INODE - параметр удален. (См. NINODE );UFSNINODE - количество элементов ufs . Если главной файловой системой является ufs , тогда должно быть выделено приблизительно 100 элементов NDQUOT - размер таблицы ядра пространства, выделенного для файловой системы ufs . Для каждого пользователя - 1 элемент; поэтому значение NDQUOT должно быть больше максимального числа пользователей, которые могут войти в систему, если ufs - главный тип файловой системы. Если выделенное пространство задействовано, тогда элементы таблицы ограничивают количество выделенного дискового пространства. Если элементов нет, на операторском терминале печатается сообщение "dquot table full". Если это происходит, нужно увеличить значение NDQUOT ;NRNODE - максимальное количество структур rnode, которое выделяется для NFS (файловой системы сети). Значение по умолчанию 300;S52KNBUF - раньше определял сколько 2 Кбайтов буферов системы нужно выделить. Этот параметр не фунционирует в S52KNHBUF - раньше определял, сколько ячеек хеш-таблицы нужно выделить для 2 Кбайтов буферов. Этот параметр не функционирует в системе Следующие параметры используются ядром системы и следующим процессом подкачки pageout, которые отвечают за освобождение области памяти по мере надобности:
VHNDFRAC - раньше управлял параметром следующего процесса подкачки в SVR3.2. Заново реализован в AGEINTERVAL - раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в GPGSLO - определяет нижнюю отметку свободной памяти в страницах, чтобы следящий процесс pageout начал изъятие страниц из процессов. Значение по умолчанию 25. Увеличьте значение, чтобы сделать следящий процесс более активным; уменьшите значение, чтобы сделать следящий процесс менее активным (это должно быть целое число >=0);GPGSHI - раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в MAXSC - раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в MAXFC - раньше - параметр следящего процесса подкачки в SVR3.2. Заменяется параметрами SVMMLIN и HVMMLIN ;MAXUMEM - раньше определял максимальный размер пространства виртуального адреса пользователя в страницах в SVR3.2; DFN MINARMEM определяет минимальное количество страниц памяти для текстов и сегментов данных пользовательских процессов;MINASMEM - пороговое значение, определяющее количество страниц памяти и подкачки для целей системы;MINAKMEM - пороговое значение минимального количества страниц, зарезервированное как непостоянное пороговое значение kmem_alloc во избежание тупиковых ситуаций;MINHIDUSTK - раньше ассоциировался с местом пользовательского стека в SVR3.2. Этот параметр не функционирует в MINUSTKGAP - раньше ассоциировался с местом пользовательского стека в SVR3.2. Этот параметр не функционирует в PAGES_UNLOCK - этот параметр использовался в ранней версии Следующие параметры связаны с обработкой потоков данных:
NQUEUE - раньше определял количество очередей STREAMS для конфигурации. Очереди выделяются динамически;NSTREAM - раньше определял количество структур "Stream_head" для конфигурации. Эти структуры выделяются динамически;NSTRPUSH - максимальное количество модулей, которые можно запустить в поток. Используется для предотвращения использования всех имеющихся очередей в одном потоке со стороны ошибочного пользовательского процесса. По умолчанию это значение 9, на практике же существующие прикладные программы помещают в поток самое большее 4 модуля;NSTREVENT - раньше определял начальное количество ячеек памяти потока для конфигурации. Выделяются динамически;MAXSEPGCNT - раньше определял количество дополнительных страниц памяти, которые динамически распределяются. Этот параметр не функционирует в NMUXLINK - раньше определял максимальное число связей мультиплексоров для конфигурирования. Распределяется динамически;STRMSGSZ - максимально допустимый размер порции данных любого сообщения STREAMS. Значение устанавливается довольно большое, чтобы разместить защищенные данные (с максимальным пакетным размером) всех конфигурированных модулей STREAMS. Значение 0 указывает на отсутствие верхнего предела;STRCTLSZ - максимально допустимый размер контрольной порции данных любого сообщения STREAMS. Контрольная порция данных сообщения putmsg(2) не подлежит ограничению по пакетному размеру, поэтому вводимое здесь значение - единственно возможный способ ограничения контрольной части сообщения. Рекомендуемое значение 1024 - более чем достаточно для существующих прикладных программ;STRTHRESH - максимальное общее количество байтов, обычно допускаемое для распределения потоков данных. Когда порог перейден, пользователям без привилегий не разрешается открывать потоки, помещать модули в потоки или записывать на потоковые устройства; то же самое относится к параметру ENOSR (он вне ресурсов потоков). Привилегированным пользователям разрешается делать все. Обратите внимание, что пороговое значение относится только к выходным данным, поэтому на входные данные это не влияет. Значение 0 обозначает, что порога нет;STRLOFRAC - раньше определял процент блоков данных данного класса, в котором автоматически не выполнялись запросы на выделение блоков с низким приоритетом. Этот параметр не функционирует в STRMEDFRAC - раньше определял процент остановов, при котором не выполнялось распределение блоков со средним приоритетом. Этот параметр не функционирует в NLOG - определяет количество номеров устройств, имеющихся в аналоговом интерфейсе драйвера регистрации ( /dev/sp ), поддерживаемых системой;NUMSP - определяет количество устройств программного канала STREAMS, поддерживаемых системой;NUMTIM - максимальное количество модулей STREAMS, которые можно ввести в интерфейс транспортной библиотеки (TLI). Это значение контролирует количество структур данных, используемых для хранения данных конфигурации модулей, введенных в потоки;NUMTRW - определяет количество структур данных для считывания/записи в TLI, которое нужно выделить в пространстве данных ядра системы;NUMSAD - количество номеров устройств, имеющееся в драйвере администратора потоков (NSTRPHASH - размер внутренних ячеек хеш-таблицы. Этот параметр не нужно изменять, если количество драйверов в системе не станет очень большим;NAUTOPUSH - количествоустройств,которые можно сконфигурировать для автопроталкивания в стек. Если SAD_SAP ioctl не выполняется с errno, установленным в значение ENOSR, тогда это количество нужно увеличить.Следующие настраиваемые параметры связаны с сообщениями о взаимодействии процессов, семафорами и общими данными:
MSGMAP - определяет размер MSGMAX - определяет максимальный размер сообщения. Значение по умолчанию 2048. Хотя максимально возможный размер, который может обработать ядро системы, - 64 килобайта, ограничение mtune 8192;MSGMNB - определяет максимальную длину очереди сообщения. Значение по умолчанию 4096;MSGMNI - определяет максимальное количество очередей сообщений в системе. Значение по умолчанию 50;MSGSSZ - определяет размер в байтах размера сообщения. Сообщения состоят из непрерывной последовательности сегментов сообщений, размер которых позволяет уместить текст. Значение по умолчанию 8. Значение MSGSSZ должно быть меньше 128 Кбайтов;MSGTQL - определяет количество заголовков сообщений в системе и количество сообщений, ожидающих обработки. Значение по умолчанию 40. Каждый элемент содержит 12 байтов;MSGSEG - определяет количество сегментов сообщений. Значение по умолчанию 1024;SEMMAP - определяет размер SEMMNI - определяет количество идентификаторов семафора в ядре системы. Это число уникальных установок семафора, которые могут действовать в любое заданное время. Значение по умолчанию 10. Каждый элемент содержит 32 байта;SEMVMX - определяет максимальное SEMAEM - определяет установку максимального значения на выходе, псевдоним semadj. Это значение используется, когда semop(2), если у программы нет своего собственного значения. Значение по умолчанию 16384. Это максимальное значение для данного параметра;SHMMAX - определяет максимальный размер сегмента общей области памяти. Значение по умолчанию 524288;SHMMIN - определяет минимальный размер сегмента общей области памяти. Значение по умолчанию 1;SHMMNI - определяет максимальное количество идентификаторов общей области памяти во всей системе. Значение по умолчанию 100. Каждый элемент содержит 112 байтов;SHMSEG - определяет количество подсоединенных сегментов общей области памяти на один процесс. Значение по умолчанию 6. Максимального значения для этого параметра нет. Максимальное количество сегментов общей области памяти на один процесс не зависит от того, сколько есть у процесса неиспользованного пространства;SHMALL - раньше определялмаксимальноеколичество используемых сегментов текста в общей области памяти. Этот параметр не функционирует в Есть несколько параметров, которые можно настраивать для наилучшего соответствия способу использования общих удаленных файлов. Параметры общих удаленных файлов контролируют объем ресурсов системы, выделяемых для совместного использования удаленных файлов. У каждого поставщика транспорта сети тоже могут быть настраиваемые параметры, которые могут влиять на показатели эффективности этой особой сети.
Учтите, что эти параметры не влияют на вашу систему, если не реализован пакет расширений RFS.
NRCVD - максимальное число дескрипторов приемников. Система создает один дескриптор приемника для каждого файла или каталога, ссылки на которые делает удаленный пользователь, и один - для каждого процесса в вашей ЭВМ, ожидающего отклика на удаленный запрос. Если вы ограничиваете количество дескрипторов приемников, вы тем самым ограничиваете количество локальных файлов и каталогов, одновременный доступ к которым могут иметь удаленные пользователи. Результатом выхода за границы будут сообщения об ошибках для команд удаленных пользователей;NSNDD - максимальное число дескрипторов отправителей. Для каждого дистанционного ресурса, на который ссылаются ваши пользователи, система создает дескриптор отправителя. Дескриптор отправителя также выделяется для каждого процесса отправителя и каждого сообщения, ожидающего в очереди приема. Можно изменить это значение до того предела, который равен количеству удаленных файлов и каталогов, к которым одновременно может обратиться ваша ЭВМ. Это, в свою очередь, ограничивает количество действий пользователей по совместному использованию удаленных файлов. Результат выхода за допустимые границы - сообщения об ошибках для пользовательских команд;NSRMOUNT - элементы таблицы монтируемых обслуживающих устройств. Это значение используется в обслуживающих устройствах и ограничивает число пользователей монтируемых таблиц, которые существуют паралельно. Оно ограничивает ресурсы машины, которые могут использовать RFS. Если машина не использует файловый процессор, это значение должно быть больше;NADVERTISE - таблица объявленныхресурсов.Раньше устанавливал максимум ресурсов, которые вы можете объявить. Этот параметр не функционирует в MAXGDP - виртуальные каналы. Есть две связи (виртуальные каналы), установленные в сети между вами и каждой машиной, совместно с которой вы используете ресурсы. Одно соединение для каждой машины, ресурсы которой вы монтируете, и одно - для каждого компьютера, который монтирует ваши ресурсы. MINSERVE - минимальное количество процессов спецпроцессора. Ваша система использует спецпроцессор для обработки удаленных запросов на ресурсы. Этот параметр устанавливает, сколько процессов спецпроцессора действует в вашем компьютере;MAXSERVE - максимальное количество процессов спецпроцессора. Когда имеется больше удаленных запросов на ресурсы, чем может обработать минимум процессоров, ваш компьютер может временно создать дополнительные. Этот параметр устанавливает общее максимальное количество процессов спецпроцессора ( MINSERVE плюс количество динамически создаваемых параметров);NRDUSER - это значение определяет количество элементов дескриптора приемника user, которое нужно выделить. Каждый элемент представляет использование в машине пользователя одного из ваших файлов или каталогов. Один дескриптор приемника выделяется для каждого файла или каталога с удаленным доступом ( NRCVD ); могут быть и множественные элементы дескриптора приемника user для каждого пользователя, применяющего файл или каталог ( NRDUSER ). Эти элементы используются во время восстановления. Это значение должно быть примерно в 1,5 раза больше значения NRCVD ;RFHEAP - раньше определял размер в байтах области памяти для информации RFS. Этот параметр не функционирует в NREMOTE - буферы с удаленным доступом. Раньше устанавливал минимальное количество локальных буферов из общей области буферов, зарезервированных для считывания данных удаленных ресурсов. Этот параметр не функционирует в RCACHETIME - время использования кеша. Интервал в секундах, который должен исчезнуть после последнего обновления файла до того, как будет заново разрешено использование кеша для файла;RFS_VHIGH - раньше определял наибольший номер версии RFS, с которой взаимодействует ваш компьютер. Этот параметр не функционирует в RFS_BL - раньше определял наименьший номер версии RFS, с которой взаимодействует ваш компьютер. Этот параметр не функционирует в RF_MAXKMEM - ограничивает постоянно распределяемую область памяти ядра системы, используемую системой rfs, включая информацию об отображении дескрипторов, списки прав доступа и дескрипторы отображения. Нулевое значение означает, что границ нет.DSTFLAG - временный признак для поддержки вызова системы XENIX ftime(). Этот параметр устанавливает значение timeb.dstflag, возвращенное вызовом системы ftime() ;NSCRN - количество мультиэкранов для поддержки системы XENIX;NEMAP - количество отображений ввода/вывода для поддержки отображения символов системы XENIX European;TIMEZONE - параметр устанавливает значение timeb.timezone, возвращенное вызовом команды ftime() ;XSEMMAX - определяет количество семафоров в системе XENIX. Значение по умолчанию и максимальное значение 60;XSDSEGS - определяет количество сегментов в общих данных системы. Значение по умолчанию 25;XSDSLOTS - определяет максимальное количество подключений сегментов общих данных XENIX, допускаемое системой. Значение по умолчанию и максимальное значение 3.DO386B1 - контролирует использование B1 Stepping как программное решение проблем при производстве первых микросхем 386. Этот параметр нельзя устанавливать в "1";DO387CR3 - контролирует установку разрядов высшего порядка в управляющем регистре 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 ), поддерживемыхдрайверомоператорской клавиатуры. В /etc/default/workstations ;PRFMAX - максимальное количество текстовых символов, которое может обработать система построения профиля программы ( /dev/prf );CMF - признак операторского сообщения. Этот параметр используется для расширения System Message ( sysmsg ) - системных сообщений. Если этого расширения в вашей системе нет, этот параметр не действует;COM2CONS - этот параметр используется в расширениях системных сообщений ( sysmsg ). Онуправляет использованием /dev/tty01 ( com 2 port ) как операторским терминалом, даже если присутствует интегральная клавиатура/дисплей. Если расширения нет в вашей системе, этот параметр не действует;RIDEOUT - этот параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует;MNR_ON - этот параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует;SANECNT - этот параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует;USANEON - этот параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует.NAIOSYS - максимальное количество известных системных вызовов асинхронного ввода/вывода. Используется модулем "async", не являющимся частью основной системы MINAIOS - минимальное количество процессоров асинхронного ввода/вывода. Используется модулем "async", не являющимся частью основной системы MAXAIOS - максимальное количество процессоров асинхронного ввода/вывода. Используется модулем "async", не являющимся частью основной системы AIOTIMEOUT - количество секунд, в течение которых процессор асинхронного ввода/вывода ожидает начала работы. Используется модулем "async", не являющимся частью основной системы NAIOPROC - Допустимое количество запросов на асинхронный ввод/вывод на один процесс. Используется модулем "async", не являющимся частью основной системы MEVQUEUES - максимальное количество структур событий ядра системы ( evkev_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVKEVS - максимальное количество структур очереди событий ( evqueue_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVEXPREFS - максимальное количество структур ссылок на выражения о событиях ( evexref_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVEXPRS - максимальное количество выражений со структурами событий ( evexpr_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVTERMS - максимальное количество структур термов событий ( evterm_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVSEXPRS - максимальное количество структур выполненных выражений о событиях ( evsexpr_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVSTERMS - максимальное количество структур выполненных термов событий ( evsterm_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVTIDS - максимальное количество структур идентификаторов прерываний ( evtid_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVRETRYS - максимальное количество структур повторной передачи ( evretry_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVEXITS - максимальное количество структур выхода событий ( evexit_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVSIGS - максимальное количество сигнальных структур событий ( evsig_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVSTRDS - максимальное количество структур данных потока ( evd_stream_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVDIRENTS - максимальное количество dirent_t ) для распределения. Используется модулем "events", не являющимся частью основной системы EVDATA - максимальное количество байтов, выделяемых для хранения данных, зависящих от типа событий, и для других различных целей. Используется модулем "events", не являющимся частью основной системы EVTIDHTS - количество элементов в хеш-таблице идентификаторов внутренних прерываний. Параметр должен быть числом, являющимся степенью числа 2. Используется модулем "events", не являющимся частью основной системы EVFNHTS - количество элементов в хеш-таблице файловых имен. Значение параметра должно быть числом, являющимся степенью числа 2. Используется модулем "events", не являющимся частью основной системы EVMAXEV - максимальное количество событий по умолчанию, допускаемых в очереди. Используется модулем "events", не являющимся частью основной системы EVMAXDPE - максимальное количество по умолчанию байтов данных, допустимых для одного события. Используется модулем "events", не являющимся частью основной системы EVMAXMEM - максимальное общее количество байтов данных (по умолчанию), разрешенных в памяти для всех событий в очереди событий. Используется модулем "events", не являющимся частью основной системы EVMAXTRAPS - максимальное количество по умолчанию выражений с прерываниями для одного процесса. Используется модулем "events", не являющимся частью основной системы EVMAXETERMS - максимальное количество термов по умолчанию в одном выражении. Используется модулем "events", не являющимся частью основной системы HRTIME - этот параметр используется для определения размера массива hrtimes. Массив используется для сохранения дорожки от запроса на переход в режим ожидания или на аварийный сигнал для HRVTIME - параметр используется для определения размера массива itimes. Массив используется для сохранения дорожки запросов на аварийный сигнал для того, чтобы генератор тактовых импульсов мог измерить виртуальное время пользовательского процесса;RTMAXPRI - диапазон, в котором пользователи могут регулировать пользовательский -RTMAXPRI до +RTMAXPRI ;RTNPROCS - определяет размер таблицы, содержащей информацию о приоритете для процессов реального времени;TSMAXUPRI - диапазон, в котором пользователи могут регулировать пользовательский -TSMAXUPRI до +TSMAXPRI. Планирование конфигурации с более высокими значениями позволяет пользователям тщательнее контролировать приоритет их процессов (учтите, что только привилегированный пользователь можетповысить приоритет). Значение по умолчанию 20 - это степень контроля, эквивалентная той, что была в прошлом в интерфейсе nice(2) ;TSNPROCS - определяет размер таблицы, содержащей информацию о приоритете для процессов разделения времени;MAXCLSYSPRI - максимальный глобальный приоритет, используемый классом планировщиков SYS для Следующие параметры представляют значения по умолчанию в границах ресурса процесса, использующихся для объявления структуры rlimit. В системе ulimit(1) возвращает пользователю несколько новых границ ядра системы, взятых из структуры rlimit. В следующих параметрах префикс S обозначает гибкие границы, префикс H - жесткие границы. Любой пользовательский процесс может изменить свои гибкие границы до соответствующей жесткой границы. Только root может увеличить (расширить) жесткие границы. Установка параметра в 0x7FFFFFFF указывает на неопределенную границу.
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 могло более эффективно работать. Это зачастую включает назначение дополнительной памяти пространству данных ядра. Обычно это позволяет системе поддерживать больше пользователей. Однако увеличение размера структур данных ядра приводит к тому, что ядру требуется больше времени на просмотр этих структур, и фактически увеличение значений определенных параметров может замедлить работу системы.
В системе
Часто использование системы требует настройки определенных параметров на особые условия. Общая необходимость - создавать очень большие файлы. Это можно выполнить, если стать привилегированным пользователем и изменить "ulimit" для процесса оболочки ядра shell командой ulimit(1) или путем изменения строки ULIMIT в файле /etc/default/login. Альтернативное решение - модифицировать систему SFNOLIM для всех пользователей.
Бывают случаи, когда ядро системы UNIX рекомендует превысить границы системы. Эти сообщения поступают на консоль оператора. Некоторые сообщения только рекомендательные, в других случаях распечатываются дополнительные диагностичнские сообщения, требующие повторной начальной загрузки. Если такие сообщения возникают, необходимо обратиться к соответствующему настраиваемому параметру за дополнительной информацией.
Системы UNIX используют буферы памяти для хранения данных, записанных или считанных с диска. Буферы используются повторно. В системе SVR3.2 и ранних системах UNIX размер кэш-буфера соответствовал значению настраиваемого параметра главной системы. В системе NBUF и BUFHVM.
Файл stune используется для изменения настраиваемого параметра системы из его значения по умолчанию в файле mtune. В файле stune имеются только те параметры, которые будут установлены в значения, отличающиеся от требуемых по умолчанию системой. Хотя основная система определяет лишь несколько значений в stune, в пакетах расширений драйверов устройств могут быть дополнительные элементы. Файл stune можно отредактировать, чтобы изменить значение, уже помещенное туда, и добавить дополнительный параметр, который вы хотите установить в значение, отличающееся от значения по умолчанию в файле mtune.
В файле /etc/conf/bin дается сценарий idtune для упрощения модификации и добавления элемента stune. Этот сценаций особенно полезен при подготовке пакетов расширений ПО, которые нужны для изменения параметра системы. Эта команда использует индивидуальные параметры системы, осуществляет поиск в файле stune и изменяет существующее значение или добавляет параметр к файлу stune, если он не определен. Выбранное значение всегда должно быть в пределах от минимального до максимального значения в файле mtune.
Хотя не рекомендуется устанавливать значение параметра за пределы, указанные в файле mtune, если требуется, чтобы параметр был установлен в значение выше, чем это разрешено, вы можете отрегулировать пределы.
После модификации файла stune нужно повторно выполнить конфигурацию системы с помощью команды /etc/conf/bin/idbuild. Затем систему нужно закрыть и заново запустить. С помощью команды idbuild строится новое ядро системы UNIX и устанавливается файл, который используется при закрытии системы. Новое ядро системы UNIX будет связано с /stand/unix; оно автоматически выполняется при следующем повторном запуске.
Для модификации параметра выполните следующие действия:
/etc/conf/cf.d/stune. Это можно сделать или отредактировав файл stune, или выполнив команду idtune./etc/conf/bin/idbuild.cd /, чтобы попасть в корневой каталог и наберите:/etc/shutdown -i6 -g0 -y
Если новое ядро системы не запускается должным образом, возможно это связано с удаленными ЭВМ. Это может случиться, если параметр системы или комбинация нескольких измененных параметров построили слишком большое ядро системы UNIX для начальной загрузки или ядро, которое не инициализируется должным образом. В таком случае для восстановления системы выполняются следующие шаги:
Strike RETURN to install the UNIX system on your hard disk, нажать Del, чтобы выйти из программы инсталяции./etc/fs/bfs/fsck -y /dev/dsk/0s10 /etc/fs/bfs/mount /dev/dsk/0s10 /mnt cp /unix /mnt/stand/unix umount /dev/dsk/0s10
/etc/conf/cf.d/stune, установив их в их первоначальные значения и выполнить команду idbuild, затем сделать начальную загрузку системы.В этом разделе описываются процедуры изменения настраиваемых параметров операционной системы UNIX. Система UNIX использует схему Устанавливаемых управляющих программ/Настраиваемых параметров (ID/TP). Настройка этих параметров может оказывать значительное влияние на работу системы (как положительное, так и отрицательное). Перед настройкой ядра основательно продумайте использование своего компьютера, проанализируйте его текущую работу и рассмотрите другие факторы работы, например, организацию файловой системы, вторые промежуточные биты округления, эффективность $PATH и размеры блоков файловой системы.
Настраиваемые параметры системы используются для установления различных размеров таблиц. Начальные значения настраиваемых параметров применимы ко многим конфигурациям и прикладным системам. Если ваша прикладная программа имеет особые требования к эффективности, вы можете проэкспериментировать с различными комбинациями значений параметров, чтобы найти оптимальную комбинацию. Чтобы изменить
Схема ID/TP размещает все настраиваемые параметры системы в файле mtune(*) в каталоге конфигураций ядра /etc/conf/cf.d.
Каждому настраиваемому параметру системы присваивается значение по умолчанию, а также минимальное и максимальное значения. Можно исследовать файл mtune, чтобы определить установки настраиваемого параметра для вашего компьютера, но изменять файл mtune не нужно. Второй файл в каталоге конфигураций stune используется для изменения значения параметра в пределах между минимальным и максимальным значениями, определенными в файле mtune. Также дается команда idtune для упрощения входа в файл stune (1m).
Файл mtune в системе mtune
В системе kmalloc ядра системы
FLCKREC MAXSEPGCNT NBLK4096 NBLK2048 NBLK1024 NBLK512 NBLK256 NBLK128 NBLK64 NBLK16 NBLK4 NFILE NMOUNT NMUXLINK NQUEUE NSTREAM NSTREVENT
Примечание. Параметр NPROC больше не управляет распределением элементов в таблице "proc table", однако, параметр еще используется в системе
Следующие параметры были заменены в системе 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 изменена
Следующие параметры были удалены. В большинстве случаев возможность ядра, контролируемая этими параметрами, была переконструирована таким образом, что старый параметр оказывается неуместным.
AGEINTERVAL GPGSHI GPGSMSK MAXFC MAXSC NADVERTISE NKDVTTY NLOCAL NREGION NREMOTE RFHEAP RFS_VHIGH RFS_VLOW S52KNBUF S52KNHBUF SHMALL STRLOFRAC STRMEDFRAC VHNDFRAC
Есть несколько параметров в файле mtune, которые релевантны только системе UNIX
DO386B1 DO387CR3 DMAABLEBUF DMAEXEC KDBSYMSIZE MAXMINOR SYSSEGSZ PIOSEGSZ SEGMAPSZ
Другие параметры расширенного пакета
Далее показана схема настраиваемых параметров системы, определенных в файле /etc/conf/cf.d/mtune. Они представлены в приблизительном порядке появления в файле mtune. Категории параметров таковы:
rlimit ).Многие из этих параметров используются драйверами устройств или в других функциях ядра, являющихся частью расширенных пакетов, например, расширенного пакета Network Support Utilities (NSU) - Утилиты поддержки сети и расширенного пакета Remote
NCALL - определяет, сколько нужно выделить элементов для таблицы вызовов. Каждый элемент представляет функцию, которая активизируется позже с помощью части подпрограммы ядра взаимодействия с таймером. Это значение должно быть больше 2, оно обычно находится в пределах от 30 до 250. Значение по умолчанию 60. Каждый элемент содержит 16 байтов;NFILE - раньше параметр проверял, сколько элементов таблицы открытых файлов нужно выделить. Элементы таблицы файлов распределяются динамически;NMOUNT - раньше параметр проверял, сколько элементов монтируемой таблицы нужно выделить. Элементы монтируемой таблицы распределяются динамически;NPROC - раньше параметр проверял, сколько выделить элементов NREGION - использование областей памяти было исключено;NCLIST - определяет, сколько нужно выделить буферов для списка символов. Каждый буфер содержит до 64 байтов. Буферы соединяются, чтобы сформировать clist и настраиваемый параметр NCLIST сохраняются для использования в платах расширений в MAXUP - определяет, сколько параллельных процессов разрешается выполнять непривилегированному пользователю. Обычно значение элемента находится в диапазоне от 15 до 40. Значение по умолчанию 30. Это значение на один идентификационный номер пользователя, а не на один терминал;NOFILES - раньше этот параметр определял максимальное количество открытых файлов на один процесс. Сейчас эта граница системы является частью структуры rlimit (предел ресурса);NHBUF - определяет, сколько ячеек хеш-таблицы нужно выделить. Они используются для поиска буфера с номером устройства и номером блока; в этом случае нет надобности осуществлять линейный поиск по всему списку буферов. Каждый элемент содержит 12 байтов. Значение по умолчанию 64. Это значение должно быть степенью 2;NPBUF - определяет, сколько физических буферов ввода/вывода нужно выделить. Для каждого физического процесса считывания или записи нужен один буфер ввода/вывода. Каждый элемент содержит 52 байта. Значение по умолчанию 20;NPBUF - определяет, сколько физических буферов ввода/вывода нужно выделить. Для каждого физического процесса считывания или записи нужен один буфер ввода/вывода. Каждый элемент содержит 52 байта. Значение по умолчанию 20;FDFLUSHR - определяет в секундах скорость проверки необходимости записи буферов файловой системы на диск. Значение по умолчанию 1 секунда. Этот параметр заменяет BDFLUSHR, используемый в SVR3.2;BDFLUSHR - этот параметр системы SVR3.2 был переименован в FDFLUSHR ;MAXPMEM - определяет максимальный объем физической памяти для использования на страницах памяти. Значение по умолчанию 0 определяет, что используется весь объем имеющейся физической памяти;SHLBMAX - определяет максимальное число статических общих библиотек, которые могут быть подключены к процессу одновременно. Система FLCKREC - раньше этот параметр контролировал количество структур записей с блокировкой, используемых системой. Эти элементы распределяются динамически;PUTBUFSZ - определяет размер циклического буфера putbuf, который используется для хранения в нем копии последних символов PUTBUFSZ, записанных на консоль операционной системой. Содержимое putbuf можно обследовать, используя команду crash (1M) ;MAXSLICE - определяет с помощью отметок времени максимальный квант времени для пользовательских процессов. После выполнения процесса в течение выделенного времени, этот процесс приостанавливается. Затем операционная система координирует процессы с наивысшим приоритетом и выделяет для них отметки времени MAXSLICE. Обычно значение MAXSLICE 1 секунда;ULIMIT - раньше этот параметр определял размер самого большого файла, который обычный пользователь может записать в 512-байтовые блоки. Заменяется параметрами SFNOLIM и HFNOLIM ;SPTMAP - определяет размер массива элементов карты, используемого для управления пространством для виртуального адреса ядра. Пользователи не должны изменять этот параметр;PIOMAP - определяет размер массива элементов карты, используемого в команде останова программируемого ввода/вывода ядра. Эта программа позволяет драйверам устройств осуществлять программируемый ввод/вывод больших блоков данных на уровне прерывания путем разбиения блоков данных на меньшие единицы данных. Пользователи не должны изменять этот параметр;PIOMAXSZ - максимальное количество страниц памяти для одноразового использования во время программируемого ввода/вывода. Пользователи не должны изменять этот параметр;MAXMINOR - этот параметр ограничивает максимальный номер устройства, который может иметь узел устройства, созданный при вызове команды mknod(2). Хотя сейчас система UNIX допускает номер устройства до 0x37777,этот параметр ограничивается пределом 255 системы SVR3.2 (в целях обеспечения совместимости);NGROUPS_MAX - определяет число групп пользователей, которым может принадлежать пользователь. Система newgrp. Значение по умолчанию 16. Ядро ограничивает значения этого параметра диапазоном от 0 до 32, несмотря на установку настраиваемого параметра;NBUF - блок ввода/вывода использует и буферы и заголовки буферов. Когда нужен заголовок буфера, а свободных заголовков нет, система динамически выделяет больше заголовков буферов по несколько порций заголовков NBUF за один раз. Общее число заголовков в системе не ограничивается, однако настраиваемый параметр BUFNWM ограничивает количество килобайтов, используемых буферами, а это, в свою очередь, эффективно ограничивает количество заголовков буферов, которые будут выделены. После выделения пространства для заголовков буферов его нельзя освободить для других целей. Поэтому надо быть осторожным, когда увеличиваете значение NBUF. Более высокое значение NBUF уменьшает количество вызовов программы распределения ресурсов памяти ядра, которая вызывается для выделения пространства для заголовков буферов; но это может также привести к выделению ненужных заголовков;BUFNWM - ограничивает количество килобайтов памяти, которую может использовать блок буферов ввода/вывода. Если sar -b показывает, что коэффициент совпадения буферов низкий, тогда нужно увеличить значение параметра BUFNWM ;ARG_MAX - это максимальное количество символов (включая NULL (нулевые) символы), допускаемое в установках аргументов и строк среды. Его можно увеличить, обеспечив тем самым большее количество списков аргументов, но оно не должно быть меньше 5120;RSTCHOWN - определяет признак изменений принадлежности ограниченного файла. Достоверными значениями RTSCHOWN являются только 0 и 1. Находясь в системе SVR3, userID и groupID файла на любое другое, включая значения несуществующих userID и groupID . Значение RTSCHOWN, установленное в 1, обозначает режим совместимости FIPS/BSD. Это ограничивает возможность изменить принадлежность файла. Только привилегированный пользователь или корневые процессы (значение эффективного идентификатора которого равно 0) могут изменять принадлежность файла. NINODE - определяет количество элементов в таблице NINODE определяет только число NS5INODE - параметр удален. (См. NINODE );UFSNINODE - количество элементов ufs . Если главной файловой системой является ufs , тогда должно быть выделено приблизительно 100 элементов NDQUOT - размер таблицы ядра пространства, выделенного для файловой системы ufs . Для каждого пользователя - 1 элемент; поэтому значение NDQUOT должно быть больше максимального числа пользователей, которые могут войти в систему, если ufs - главный тип файловой системы. Если выделенное пространство задействовано, тогда элементы таблицы ограничивают количество выделенного дискового пространства. Если элементов нет, на операторском терминале печатается сообщение "dquot table full". Если это происходит, нужно увеличить значение NDQUOT ;NRNODE - максимальное количество структур rnode, которое выделяется для NFS (файловой системы сети). Значение по умолчанию 300;S52KNBUF - раньше определял сколько 2 Кбайтов буферов системы нужно выделить. Этот параметр не фунционирует в S52KNHBUF - раньше определял, сколько ячеек хеш-таблицы нужно выделить для 2 Кбайтов буферов. Этот параметр не функционирует в системе Следующие параметры используются ядром системы и следующим процессом подкачки pageout, которые отвечают за освобождение области памяти по мере надобности:
VHNDFRAC - раньше управлял параметром следующего процесса подкачки в SVR3.2. Заново реализован в AGEINTERVAL - раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в GPGSLO - определяет нижнюю отметку свободной памяти в страницах, чтобы следящий процесс pageout начал изъятие страниц из процессов. Значение по умолчанию 25. Увеличьте значение, чтобы сделать следящий процесс более активным; уменьшите значение, чтобы сделать следящий процесс менее активным (это должно быть целое число >=0);GPGSHI - раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в MAXSC - раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в MAXFC - раньше - параметр следящего процесса подкачки в SVR3.2. Заменяется параметрами SVMMLIN и HVMMLIN ;MAXUMEM - раньше определял максимальный размер пространства виртуального адреса пользователя в страницах в SVR3.2; DFN MINARMEM определяет минимальное количество страниц памяти для текстов и сегментов данных пользовательских процессов;MINASMEM - пороговое значение, определяющее количество страниц памяти и подкачки для целей системы;MINAKMEM - пороговое значение минимального количества страниц, зарезервированное как непостоянное пороговое значение kmem_alloc во избежание тупиковых ситуаций;MINHIDUSTK - раньше ассоциировался с местом пользовательского стека в SVR3.2. Этот параметр не функционирует в MINUSTKGAP - раньше ассоциировался с местом пользовательского стека в SVR3.2. Этот параметр не функционирует в PAGES_UNLOCK - этот параметр использовался в ранней версии Следующие параметры связаны с обработкой потоков данных:
NQUEUE - раньше определял количество очередей STREAMS для конфигурации. Очереди выделяются динамически;NSTREAM - раньше определял количество структур "Stream_head" для конфигурации. Эти структуры выделяются динамически;NSTRPUSH - максимальное количество модулей, которые можно запустить в поток. Используется для предотвращения использования всех имеющихся очередей в одном потоке со стороны ошибочного пользовательского процесса. По умолчанию это значение 9, на практике же существующие прикладные программы помещают в поток самое большее 4 модуля;NSTREVENT - раньше определял начальное количество ячеек памяти потока для конфигурации. Выделяются динамически;MAXSEPGCNT - раньше определял количество дополнительных страниц памяти, которые динамически распределяются. Этот параметр не функционирует в NMUXLINK - раньше определял максимальное число связей мультиплексоров для конфигурирования. Распределяется динамически;STRMSGSZ - максимально допустимый размер порции данных любого сообщения STREAMS. Значение устанавливается довольно большое, чтобы разместить защищенные данные (с максимальным пакетным размером) всех конфигурированных модулей STREAMS. Значение 0 указывает на отсутствие верхнего предела;STRCTLSZ - максимально допустимый размер контрольной порции данных любого сообщения STREAMS. Контрольная порция данных сообщения putmsg(2) не подлежит ограничению по пакетному размеру, поэтому вводимое здесь значение - единственно возможный способ ограничения контрольной части сообщения. Рекомендуемое значение 1024 - более чем достаточно для существующих прикладных программ;STRTHRESH - максимальное общее количество байтов, обычно допускаемое для распределения потоков данных. Когда порог перейден, пользователям без привилегий не разрешается открывать потоки, помещать модули в потоки или записывать на потоковые устройства; то же самое относится к параметру ENOSR (он вне ресурсов потоков). Привилегированным пользователям разрешается делать все. Обратите внимание, что пороговое значение относится только к выходным данным, поэтому на входные данные это не влияет. Значение 0 обозначает, что порога нет;STRLOFRAC - раньше определял процент блоков данных данного класса, в котором автоматически не выполнялись запросы на выделение блоков с низким приоритетом. Этот параметр не функционирует в STRMEDFRAC - раньше определял процент остановов, при котором не выполнялось распределение блоков со средним приоритетом. Этот параметр не функционирует в NLOG - определяет количество номеров устройств, имеющихся в аналоговом интерфейсе драйвера регистрации ( /dev/sp ), поддерживаемых системой;NUMSP - определяет количество устройств программного канала STREAMS, поддерживаемых системой;NUMTIM - максимальное количество модулей STREAMS, которые можно ввести в интерфейс транспортной библиотеки (TLI). Это значение контролирует количество структур данных, используемых для хранения данных конфигурации модулей, введенных в потоки;NUMTRW - определяет количество структур данных для считывания/записи в TLI, которое нужно выделить в пространстве данных ядра системы;NUMSAD - количество номеров устройств, имеющееся в драйвере администратора потоков (NSTRPHASH - размер внутренних ячеек хеш-таблицы. Этот параметр не нужно изменять, если количество драйверов в системе не станет очень большим;NAUTOPUSH - количествоустройств,которые можно сконфигурировать для автопроталкивания в стек. Если SAD_SAP ioctl не выполняется с errno, установленным в значение ENOSR, тогда это количество нужно увеличить.Следующие настраиваемые параметры связаны с сообщениями о взаимодействии процессов, семафорами и общими данными:
MSGMAP - определяет размер MSGMAX - определяет максимальный размер сообщения. Значение по умолчанию 2048. Хотя максимально возможный размер, который может обработать ядро системы, - 64 килобайта, ограничение mtune 8192;MSGMNB - определяет максимальную длину очереди сообщения. Значение по умолчанию 4096;MSGMNI - определяет максимальное количество очередей сообщений в системе. Значение по умолчанию 50;MSGSSZ - определяет размер в байтах размера сообщения. Сообщения состоят из непрерывной последовательности сегментов сообщений, размер которых позволяет уместить текст. Значение по умолчанию 8. Значение MSGSSZ должно быть меньше 128 Кбайтов;MSGTQL - определяет количество заголовков сообщений в системе и количество сообщений, ожидающих обработки. Значение по умолчанию 40. Каждый элемент содержит 12 байтов;MSGSEG - определяет количество сегментов сообщений. Значение по умолчанию 1024;SEMMAP - определяет размер SEMMNI - определяет количество идентификаторов семафора в ядре системы. Это число уникальных установок семафора, которые могут действовать в любое заданное время. Значение по умолчанию 10. Каждый элемент содержит 32 байта;SEMVMX - определяет максимальное SEMAEM - определяет установку максимального значения на выходе, псевдоним semadj. Это значение используется, когда semop(2), если у программы нет своего собственного значения. Значение по умолчанию 16384. Это максимальное значение для данного параметра;SHMMAX - определяет максимальный размер сегмента общей области памяти. Значение по умолчанию 524288;SHMMIN - определяет минимальный размер сегмента общей области памяти. Значение по умолчанию 1;SHMMNI - определяет максимальное количество идентификаторов общей области памяти во всей системе. Значение по умолчанию 100. Каждый элемент содержит 112 байтов;SHMSEG - определяет количество подсоединенных сегментов общей области памяти на один процесс. Значение по умолчанию 6. Максимального значения для этого параметра нет. Максимальное количество сегментов общей области памяти на один процесс не зависит от того, сколько есть у процесса неиспользованного пространства;SHMALL - раньше определялмаксимальноеколичество используемых сегментов текста в общей области памяти. Этот параметр не функционирует в Есть несколько параметров, которые можно настраивать для наилучшего соответствия способу использования общих удаленных файлов. Параметры общих удаленных файлов контролируют объем ресурсов системы, выделяемых для совместного использования удаленных файлов. У каждого поставщика транспорта сети тоже могут быть настраиваемые параметры, которые могут влиять на показатели эффективности этой особой сети.
Учтите, что эти параметры не влияют на вашу систему, если не реализован пакет расширений RFS.
NRCVD - максимальное число дескрипторов приемников. Система создает один дескриптор приемника для каждого файла или каталога, ссылки на которые делает удаленный пользователь, и один - для каждого процесса в вашей ЭВМ, ожидающего отклика на удаленный запрос. Если вы ограничиваете количество дескрипторов приемников, вы тем самым ограничиваете количество локальных файлов и каталогов, одновременный доступ к которым могут иметь удаленные пользователи. Результатом выхода за границы будут сообщения об ошибках для команд удаленных пользователей;NSNDD - максимальное число дескрипторов отправителей. Для каждого дистанционного ресурса, на который ссылаются ваши пользователи, система создает дескриптор отправителя. Дескриптор отправителя также выделяется для каждого процесса отправителя и каждого сообщения, ожидающего в очереди приема. Можно изменить это значение до того предела, который равен количеству удаленных файлов и каталогов, к которым одновременно может обратиться ваша ЭВМ. Это, в свою очередь, ограничивает количество действий пользователей по совместному использованию удаленных файлов. Результат выхода за допустимые границы - сообщения об ошибках для пользовательских команд;NSRMOUNT - элементы таблицы монтируемых обслуживающих устройств. Это значение используется в обслуживающих устройствах и ограничивает число пользователей монтируемых таблиц, которые существуют паралельно. Оно ограничивает ресурсы машины, которые могут использовать RFS. Если машина не использует файловый процессор, это значение должно быть больше;NADVERTISE - таблица объявленныхресурсов.Раньше устанавливал максимум ресурсов, которые вы можете объявить. Этот параметр не функционирует в MAXGDP - виртуальные каналы. Есть две связи (виртуальные каналы), установленные в сети между вами и каждой машиной, совместно с которой вы используете ресурсы. Одно соединение для каждой машины, ресурсы которой вы монтируете, и одно - для каждого компьютера, который монтирует ваши ресурсы. MINSERVE - минимальное количество процессов спецпроцессора. Ваша система использует спецпроцессор для обработки удаленных запросов на ресурсы. Этот параметр устанавливает, сколько процессов спецпроцессора действует в вашем компьютере;MAXSERVE - максимальное количество процессов спецпроцессора. Когда имеется больше удаленных запросов на ресурсы, чем может обработать минимум процессоров, ваш компьютер может временно создать дополнительные. Этот параметр устанавливает общее максимальное количество процессов спецпроцессора ( MINSERVE плюс количество динамически создаваемых параметров);NRDUSER - это значение определяет количество элементов дескриптора приемника user, которое нужно выделить. Каждый элемент представляет использование в машине пользователя одного из ваших файлов или каталогов. Один дескриптор приемника выделяется для каждого файла или каталога с удаленным доступом ( NRCVD ); могут быть и множественные элементы дескриптора приемника user для каждого пользователя, применяющего файл или каталог ( NRDUSER ). Эти элементы используются во время восстановления. Это значение должно быть примерно в 1,5 раза больше значения NRCVD ;RFHEAP - раньше определял размер в байтах области памяти для информации RFS. Этот параметр не функционирует в NREMOTE - буферы с удаленным доступом. Раньше устанавливал минимальное количество локальных буферов из общей области буферов, зарезервированных для считывания данных удаленных ресурсов. Этот параметр не функционирует в RCACHETIME - время использования кеша. Интервал в секундах, который должен исчезнуть после последнего обновления файла до того, как будет заново разрешено использование кеша для файла;RFS_VHIGH - раньше определял наибольший номер версии RFS, с которой взаимодействует ваш компьютер. Этот параметр не функционирует в RFS_BL - раньше определял наименьший номер версии RFS, с которой взаимодействует ваш компьютер. Этот параметр не функционирует в RF_MAXKMEM - ограничивает постоянно распределяемую область памяти ядра системы, используемую системой rfs, включая информацию об отображении дескрипторов, списки прав доступа и дескрипторы отображения. Нулевое значение означает, что границ нет.DSTFLAG - временный признак для поддержки вызова системы XENIX ftime(). Этот параметр устанавливает значение timeb.dstflag, возвращенное вызовом системы ftime() ;NSCRN - количество мультиэкранов для поддержки системы XENIX;NEMAP - количество отображений ввода/вывода для поддержки отображения символов системы XENIX European;TIMEZONE - параметр устанавливает значение timeb.timezone, возвращенное вызовом команды ftime() ;XSEMMAX - определяет количество семафоров в системе XENIX. Значение по умолчанию и максимальное значение 60;XSDSEGS - определяет количество сегментов в общих данных системы. Значение по умолчанию 25;XSDSLOTS - определяет максимальное количество подключений сегментов общих данных XENIX, допускаемое системой. Значение по умолчанию и максимальное значение 3.DO386B1 - контролирует использование B1 Stepping как программное решение проблем при производстве первых микросхем 386. Этот параметр нельзя устанавливать в "1";DO387CR3 - контролирует установку разрядов высшего порядка в управляющем регистре 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 ), поддерживемыхдрайверомоператорской клавиатуры. В /etc/default/workstations ;PRFMAX - максимальное количество текстовых символов, которое может обработать система построения профиля программы ( /dev/prf );CMF - признак операторского сообщения. Этот параметр используется для расширения System Message ( sysmsg ) - системных сообщений. Если этого расширения в вашей системе нет, этот параметр не действует;COM2CONS - этот параметр используется в расширениях системных сообщений ( sysmsg ). Онуправляет использованием /dev/tty01 ( com 2 port ) как операторским терминалом, даже если присутствует интегральная клавиатура/дисплей. Если расширения нет в вашей системе, этот параметр не действует;RIDEOUT - этот параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует;MNR_ON - этот параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует;SANECNT - этот параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует;USANEON - этот параметр используется расширением Remote Maintenance Circuit Driver (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует.NAIOSYS - максимальное количество известных системных вызовов асинхронного ввода/вывода. Используется модулем "async", не являющимся частью основной системы MINAIOS - минимальное количество процессоров асинхронного ввода/вывода. Используется модулем "async", не являющимся частью основной системы MAXAIOS - максимальное количество процессоров асинхронного ввода/вывода. Используется модулем "async", не являющимся частью основной системы AIOTIMEOUT - количество секунд, в течение которых процессор асинхронного ввода/вывода ожидает начала работы. Используется модулем "async", не являющимся частью основной системы NAIOPROC - Допустимое количество запросов на асинхронный ввод/вывод на один процесс. Используется модулем "async", не являющимся частью основной системы MEVQUEUES - максимальное количество структур событий ядра системы ( evkev_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVKEVS - максимальное количество структур очереди событий ( evqueue_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVEXPREFS - максимальное количество структур ссылок на выражения о событиях ( evexref_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVEXPRS - максимальное количество выражений со структурами событий ( evexpr_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVTERMS - максимальное количество структур термов событий ( evterm_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVSEXPRS - максимальное количество структур выполненных выражений о событиях ( evsexpr_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVSTERMS - максимальное количество структур выполненных термов событий ( evsterm_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVTIDS - максимальное количество структур идентификаторов прерываний ( evtid_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVRETRYS - максимальное количество структур повторной передачи ( evretry_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVEXITS - максимальное количество структур выхода событий ( evexit_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVSIGS - максимальное количество сигнальных структур событий ( evsig_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVSTRDS - максимальное количество структур данных потока ( evd_stream_t ) для распределения. Используется модулем "events", не являющимся частью основной системы MEVDIRENTS - максимальное количество dirent_t ) для распределения. Используется модулем "events", не являющимся частью основной системы EVDATA - максимальное количество байтов, выделяемых для хранения данных, зависящих от типа событий, и для других различных целей. Используется модулем "events", не являющимся частью основной системы EVTIDHTS - количество элементов в хеш-таблице идентификаторов внутренних прерываний. Параметр должен быть числом, являющимся степенью числа 2. Используется модулем "events", не являющимся частью основной системы EVFNHTS - количество элементов в хеш-таблице файловых имен. Значение параметра должно быть числом, являющимся степенью числа 2. Используется модулем "events", не являющимся частью основной системы EVMAXEV - максимальное количество событий по умолчанию, допускаемых в очереди. Используется модулем "events", не являющимся частью основной системы EVMAXDPE - максимальное количество по умолчанию байтов данных, допустимых для одного события. Используется модулем "events", не являющимся частью основной системы EVMAXMEM - максимальное общее количество байтов данных (по умолчанию), разрешенных в памяти для всех событий в очереди событий. Используется модулем "events", не являющимся частью основной системы EVMAXTRAPS - максимальное количество по умолчанию выражений с прерываниями для одного процесса. Используется модулем "events", не являющимся частью основной системы EVMAXETERMS - максимальное количество термов по умолчанию в одном выражении. Используется модулем "events", не являющимся частью основной системы HRTIME - этот параметр используется для определения размера массива hrtimes. Массив используется для сохранения дорожки от запроса на переход в режим ожидания или на аварийный сигнал для HRVTIME - параметр используется для определения размера массива itimes. Массив используется для сохранения дорожки запросов на аварийный сигнал для того, чтобы генератор тактовых импульсов мог измерить виртуальное время пользовательского процесса;RTMAXPRI - диапазон, в котором пользователи могут регулировать пользовательский -RTMAXPRI до +RTMAXPRI ;RTNPROCS - определяет размер таблицы, содержащей информацию о приоритете для процессов реального времени;TSMAXUPRI - диапазон, в котором пользователи могут регулировать пользовательский -TSMAXUPRI до +TSMAXPRI. Планирование конфигурации с более высокими значениями позволяет пользователям тщательнее контролировать приоритет их процессов (учтите, что только привилегированный пользователь можетповысить приоритет). Значение по умолчанию 20 - это степень контроля, эквивалентная той, что была в прошлом в интерфейсе nice(2) ;TSNPROCS - определяет размер таблицы, содержащей информацию о приоритете для процессов разделения времени;MAXCLSYSPRI - максимальный глобальный приоритет, используемый классом планировщиков SYS для Следующие параметры представляют значения по умолчанию в границах ресурса процесса, использующихся для объявления структуры rlimit. В системе ulimit(1) возвращает пользователю несколько новых границ ядра системы, взятых из структуры rlimit. В следующих параметрах префикс S обозначает гибкие границы, префикс H - жесткие границы. Любой пользовательский процесс может изменить свои гибкие границы до соответствующей жесткой границы. Только root может увеличить (расширить) жесткие границы. Установка параметра в 0x7FFFFFFF указывает на неопределенную границу.
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 могло более эффективно работать. Это зачастую включает назначение дополнительной памяти пространству данных ядра. Обычно это позволяет системе поддерживать больше пользователей. Однако увеличение размера структур данных ядра приводит к тому, что ядру требуется больше времени на просмотр этих структур, и фактически увеличение значений определенных параметров может замедлить работу системы.
В системе
Часто использование системы требует настройки определенных параметров на особые условия. Общая необходимость - создавать очень большие файлы. Это можно выполнить, если стать привилегированным пользователем и изменить "ulimit" для процесса оболочки ядра shell командой ulimit(1) или путем изменения строки ULIMIT в файле /etc/default/login. Альтернативное решение - модифицировать систему SFNOLIM для всех пользователей.
Бывают случаи, когда ядро системы UNIX рекомендует превысить границы системы. Эти сообщения поступают на консоль оператора. Некоторые сообщения только рекомендательные, в других случаях распечатываются дополнительные диагностичнские сообщения, требующие повторной начальной загрузки. Если такие сообщения возникают, необходимо обратиться к соответствующему настраиваемому параметру за дополнительной информацией.
Системы UNIX используют буферы памяти для хранения данных, записанных или считанных с диска. Буферы используются повторно. В системе SVR3.2 и ранних системах UNIX размер кэш-буфера соответствовал значению настраиваемого параметра главной системы. В системе NBUF и BUFHVM.
Файл stune используется для изменения настраиваемого параметра системы из его значения по умолчанию в файле mtune. В файле stune имеются только те параметры, которые будут установлены в значения, отличающиеся от требуемых по умолчанию системой. Хотя основная система определяет лишь несколько значений в stune, в пакетах расширений драйверов устройств могут быть дополнительные элементы. Файл stune можно отредактировать, чтобы изменить значение, уже помещенное туда, и добавить дополнительный параметр, который вы хотите установить в значение, отличающееся от значения по умолчанию в файле mtune.
В файле /etc/conf/bin дается сценарий idtune для упрощения модификации и добавления элемента stune. Этот сценаций особенно полезен при подготовке пакетов расширений ПО, которые нужны для изменения параметра системы. Эта команда использует индивидуальные параметры системы, осуществляет поиск в файле stune и изменяет существующее значение или добавляет параметр к файлу stune, если он не определен. Выбранное значение всегда должно быть в пределах от минимального до максимального значения в файле mtune.
Хотя не рекомендуется устанавливать значение параметра за пределы, указанные в файле mtune, если требуется, чтобы параметр был установлен в значение выше, чем это разрешено, вы можете отрегулировать пределы.
После модификации файла stune нужно повторно выполнить конфигурацию системы с помощью команды /etc/conf/bin/idbuild. Затем систему нужно закрыть и заново запустить. С помощью команды idbuild строится новое ядро системы UNIX и устанавливается файл, который используется при закрытии системы. Новое ядро системы UNIX будет связано с /stand/unix; оно автоматически выполняется при следующем повторном запуске.
Для модификации параметра выполните следующие действия:
/etc/conf/cf.d/stune. Это можно сделать или отредактировав файл stune, или выполнив команду idtune./etc/conf/bin/idbuild.cd /, чтобы попасть в корневой каталог и наберите:/etc/shutdown -i6 -g0 -y
Если новое ядро системы не запускается должным образом, возможно это связано с удаленными ЭВМ. Это может случиться, если параметр системы или комбинация нескольких измененных параметров построили слишком большое ядро системы UNIX для начальной загрузки или ядро, которое не инициализируется должным образом. В таком случае для восстановления системы выполняются следующие шаги:
Strike RETURN to install the UNIX system on your hard disk, нажать Del, чтобы выйти из программы инсталяции./etc/fs/bfs/fsck -y /dev/dsk/0s10 /etc/fs/bfs/mount /dev/dsk/0s10 /mnt cp /unix /mnt/stand/unix umount /dev/dsk/0s10
/etc/conf/cf.d/stune, установив их в их первоначальные значения и выполнить команду idbuild, затем сделать начальную загрузку системы.Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.