Руководство по администрированию UNIX System V

         

Альтернативное восстановление системы UNIX


Если вы добавили драйверы устройств или изменили конфигурацию, вы, возможно, захотите использовать другую процедуру восстановления. Вы можете скопировать /unix в /unix.orig и перезагрузить все ранее инсталированные драйверы. Недостатком является то, что /unix.orig займет дополнительное пространство на диске. Если вы увидите сообщение /unix is missing or corrupted, замените /unix на запасной /unix.orig. Когда /unix запорчен, попробуйте сделать следующее:

Вставьте гибкий диск 1 Base System (диск загрузки) в дисковод. Нажмите RESET или запустите систему для загрузки с этого диска. После загрузки поступит подсказка удалить диск загрузки, вставьте диск 2 Base System (диск инсталяции), а затем нажмите ENTER. Командный файл инсталяции монтирует гибкий диск инсталяции и проверяет, что вы вставили гибкий диск правильно. Когда вы увидите следующее сообщение:

Please strike ENTER to install the UNIX System on your hard disk or DEL to cancel the installation.

нажмите DEL. Запустите fsck по подсказке root, набрав:

/etc/fs/bfs/fsck/dev/dsk/0s10

Смонтируйте устройство 0s10, набрав

/etc/fs/bfs/mount/dev/dsk/0s10/mnt

Скопируйте каталог /unix.orig в /unix, набрав

cp/unix/mnt/stand/unix

Размонтируйте устройство 0s1 набрав

/etc/umount/dev/dsk/0s1

Повторно загрузите систему, нажав RESET. Когда появится подсказка о загрузке наберите:

boot:/unix.orig

Если вы не можете восстановить систему UNIX, обратитесь к специалисту.

| |



Динамическая обработка неисправных блоков


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



Динамическая обработка несчитываемых блоков


При каждом обнаружении несчитываемого блока, система:

сообщит, что блок выявлен; присвоит доступный альтернативный сектор для неисправного блока (когда это необходимо); предупредит о потере данных; определит, является ли неисправный блок частью файловой системы; если блок является частью файловой системы, пометит файловую систему для запуска проверки этой системы в следующий раз, когда система будет перезагружаться.



Обработка неисправного блока


Обработка неисправных блоков подразделяется на шесть категорий:

динамическая обработка неисправных блоков; сопровождение таблицы преобразования неисправных блоков; выявление неисправных блоков; создание отчетов о неисправных блоках; инициация жесткого диска для обработки неисправных блоков.



Общий обзор


В этой главе объясняются задания, выполняемые для обнаружения сбоев в жестком диске, такие как обработка неисправных блоков и восстановление после повреждения жесткого диска. Для выполнения этих задач меню OA&M системы UNIX System V Version 1.0 использоваться не могут.



Преобразование неисправных блоков


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



Разбивка жесткого диска


Ниже приводится описание существующей разбивки жесткого диска, трудностей при разбивке, а также требуемых изменений. Структуры данных, используемые только системой UNIX (т.е. pdinfo, vtoc и таблица преобразования неисправного блока) хранятся на диске в пределах раздела системы UNIX. Другие секторы, зарезервированные для неисправных блоков, также хранятся в пределах этих разделов.

Типичная разбивка диска такова:

зарезервируйте первый сектор цилиндра 0 для первичной загрузки и ipart table; зарезервируйте первые 29 секторов раздела системы UNIX для загрузки первой стадии и второй стадии; зарезервируйте 30-ый сектор раздела системы UNIX для таблицы pdinfo и vtoc; зарезервируйте 31-ый и 34-ый для таблицы преобразования неисправных блоков; зарезервируйте столько последовательных секторов сколько необходимо, начиная с 35-го сектора раздела системы UNIX, для других секторов.

Реализация этой разбивки устраняет возможные ограничения системы UNIX. Следовательно:

инсталяция системы UNIX никогда не приведет к разрушению раздела MS-DOS, независимо от того, где на диске размещен раздел MS-DOS; если какие-то секторы, где хранятся pdinfo, vtoc и таблица преобразования неисправного блока, находятся в плохом состоянии, все равно можно использовать жесткий диск для системы UNIX, если раздел системы UNIX начинается с какого-то другого места на диске.



Сопровождение таблицы преобразования неисправных блоков


Таблица преобразования неисправных блоков создается и хранится на жестком диске, когда диск форматируется первый раз. Она состоит из списка неисправных блоков и списка альтернативных блоков. Эти два списка абсолютно соответствуют друг другу.

Список неисправных блоков используется для записи адреса на диске тех блоков, которые неисправны. Список альтернативных блоков используется для записи адреса на диске всех зарезервированных секторов, которые будут использоваться вместо неисправных блоков.



Составление отчетов о крайних и нечитаемых блоках


Каждый раз когда система выявляет потенциально крайние или нечитаемые блоки, этот блок анализируется, чтобы определить действие, которое следует предпринимать, и система посылает сообщение в пульт управления. Эти сообщения не требуют от вас каких-либо действий.



Составление отчетов о неисправных блоках


Система всегда сообщает о потенциальном или реальном возникновении неисправных блоков. Сообщения об ошибке, которое система отображает для обоих типов неисправностей, приводятся ниже.



Управление жестким диском


12.1.
12.2.
12.3.

12.3.1.
12.3.2.
12.3.3.
12.3.4.
12.3.5.
12.3.6.
12.3.7.
12.3.7.1.

12.4.

12.4.1.
12.4.2.
12.4.3.
12.4.4.



Воостановление жесткого диска


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

A hard-disk operation of type x has failed at sector y

Значения X такие:

0x02 - неудача при попытке считать сектор с диска в память;
0x03 - неудача при попытке записать сектор из памяти на диск;
0x05 - неудача при форматировании указанной дорожки;
0x06 - неудача при форматировании дорожки и попытке установить флаг неисправности сектора;
0x07 - неудача при форматировании пускателя драйвера, начинающегося с дорожки x.

При возникновении таких сбоев попытайтесь исправить файловую систему, используя одну из процедур, описанных ниже.



Восстановление после незначительного повреждения жесткого диска


Когда нет возможности исправить жесткий диск автоматически, а вы все еще обращаетесь к системе, попробуйте сделать следующее:

Сохраните содержимое жесткого диска. Если у вас есть гибкий диск System Test Diagnostics, используйте его для проверки наличия неисправных дорожек на жестком диске. Выполните инсталяцию операционной системы UNIX.



Восстановление после значительных повреждений жесткого диска


Когда система оказывается испорченной там, где она не может ничем помочь, попробуйте сделать следующее:

Вставьте гибкий диск 1 Base System (диск загрузки) в дисковод. Нажмите RESET или запустите систему для загрузки с этого диска. После загрузки поступит подсказка удалить диск загрузки, вставьте диск 2 Base System (диск инсталяции), а затем нажмите ENTER. Командный файл инсталяции монтирует гибкий диск инсталяции и проверяет, что вы вставили гибкий диск правильно. Когда вы увидите следующее сообщение:

Please strike ENTER to install the UNIX System on your hard disk or DEL to cancel the installation.

нажмите DEL. Запустите fsck по подсказке root, набрав:

/etc/fs/s5/fsck/dev/rdsk/0s1

и нажмите ENTER.

Команда fsck будет или функционировать без ошибок или запросит действие у пользователя на исправление файловой системы. Вам надо ответить "yes" на вопрос, заданный fsck. Команда fsck может удалять некоторые файлы, когда исправляет вашу файловую систему. Позже вы сможете восстановить их по копиям.

Удалите диск и перезагрузите систему, нажав RESET.



Восстановление системы UNIX


При загрузке компьютера может в какой-то момент появиться сообщение:

/unix is missing or corrupted.

Если это произошло, вам нужно заменить /unix на /unix по умолчанию. Когда /unix запорчен - результаты непредсказуемы. Вместо этого можно попробовать следующее:

Вставьте гибкий диск 1 Base System (диск загрузки) в дисковод. Нажмите RESET или запустите систему для загрузки с этого диска. После загрузки поступит подсказка удалить диск загрузки, вставьте диск 2 Base System (диск инсталяции), а затем нажмите ENTER. Командный файл инсталяции монтирует гибкий диск инсталяции и проверяет, что вы вставили гибкий диск правильно. Когда вы увидите следующее сообщение:

Please strike ENTER to install the UNIX System on your hard disk or DEL to cancel the installation.

нажмите DEL. Запустите fsck по подсказке root, набрав:

/etc/fs/bfs/fsck/dev/dsk/0s10

Смонтируйте устройство 0s10, набрав

/etc/fs/bfs/mount/dev/dsk/0s10/mnt

Скопируйте каталог /unix, набрав

cp/unix/mnt/stand/unix

Размонтируйте устройство 0s10 набрав

/etc/umount/dev/dsk/0s10

Повторно загрузите систему, нажав RESET.



Выявление неисправных блоков


Средство обработки неисправных блоков должно уметь выявлять два типа проблем:

крайние блоки; несчитываемые блоки.

Крайний блок - это блок, который есть только с алгоритмом ECC (Код исправления ошибок) контроллера жесткого диска.

Если будет установлено, что рассматриваемый блок - крайний, система:

сообщит о проблеме; скопирует данные крайнего блока в доступный альтернативный блок; пометит крайний блок как неисправный;

сообщит, что блок был преобразован.



Выявление несчитываемых блоков


Если блок является несчитываемым, данные, хранящиеся в нем, теряются. Большая часть блоков выявляется, когда они становятся крайними, т.е. несчитываемые блоки встречаются довольно редко.



Что делать, если система не запускается


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

Вставить гибкий диск N1 ПО основной системы. Загрузить систему с гибкого диска. После запроса системы вставить гибкий диск N2. Когда появится подсказка 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, затем сделать начальную загрузку системы.

|



Динамическое распределение


В системе SVR4.0 многие параметры были заменены динамическим распределением. Во многих случаях, когда ядру или дисководу нужно больше ресурсов памяти, используется программа распределения ресурсов памяти kmalloc ядра системы SVR4.0. Если настраивается старый параметр (SVR3.2), он не влияет на систему, однако, теперь ядро автоматически следит за этими ресурсами, поэтому настройка старого параметра ничему не вредит. В списке параметры SVR3.2 динамически распределяются таким образом:

FLCKREC MAXSEPGCNT NBLK4096 NBLK2048 NBLK1024 NBLK512 NBLK256 NBLK128 NBLK64 NBLK16 NBLK4 NFILE NMOUNT NMUXLINK NQUEUE NSTREAM NSTREVENT

Примечание. Параметр NPROC больше не управляет распределением элементов в таблице "proc table", однако, параметр еще используется в системе SVR4.0.



Изменение настраиваемых параметров


13.3.1.
13.3.2.
13.3.3.
13.3.4.

Файл mtune в системе SVR4.0 Version1.0. абсолютно отличается от файла системы SVR3.2. Хотя некоторые параметры устарели и были заменены, намерение системы SVR4.0 - позволить всем прикладным программам системы SVR3.2 быть выполненным без изменений. По этой причине файл mtune SVR4.0 по-прежнему содержит старые параметры, позволяющие расширенным пакетам загружаться без ошибок или предупреждений. Настройка этих параметров не влияет на систему.



Изменение существующего параметра ядра системы


13.6.1.
13.6.2.

Файл stune используется для изменения настраиваемого параметра системы из его значения по умолчанию в файле mtune. В файле stune имеются только те параметры, которые будут установлены в значения, отличающиеся от требуемых по умолчанию системой. Хотя основная система определяет лишь несколько значений в stune, в пакетах расширений драйверов устройств могут быть дополнительные элементы. Файл stune можно отредактировать, чтобы изменить значение, уже помещенное туда, и добавить дополнительный параметр, который вы хотите установить в значение, отличающееся от значения по умолчанию в файле mtune.

В файле /etc/conf/bin дается сценарий idtune для упрощения модификации и добавления элемента stune. Этот сценаций особенно полезен при подготовке пакетов расширений ПО, которые нужны для изменения параметра системы. Эта команда использует индивидуальные параметры системы, осуществляет поиск в файле stune и изменяет существующее значение или добавляет параметр к файлу stune, если он не определен. Выбранное значение всегда должно быть в пределах от минимального до максимального значения в файле mtune.

Хотя не рекомендуется устанавливать значение параметра за пределы, указанные в файле mtune, если требуется, чтобы параметр был установлен в значение выше, чем это разрешено, вы можете отрегулировать пределы.



Кэш-буферы


Системы UNIX используют буферы памяти для хранения данных, записанных или считанных с диска. Буферы используются повторно. В системе SVR3.2 и ранних системах UNIX размер кэш-буфера соответствовал значению настраиваемого параметра главной системы. В системе SVR4.0 буферы распределяются системой как нужно. Дополнительную информацию смотрите в описании параметров NBUF и BUFHVM.

| |



Когда настраивать и что настраивать


13.5.1.
13.5.2.
13.5.3.

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

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



Настраиваемые параметры системы


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

Схема ID/TP размещает все настраиваемые параметры системы в файле mtune(*) в каталоге конфигураций ядра /etc/conf/cf.d.

Каждому настраиваемому параметру системы присваивается значение по умолчанию, а также минимальное и максимальное значения. Можно исследовать файл mtune, чтобы определить установки настраиваемого параметра для вашего компьютера, но изменять файл mtune не нужно. Второй файл в каталоге конфигураций stune используется для изменения значения параметра в пределах между минимальным и максимальным значениями, определенными в файле mtune. Также дается команда idtune для упрощения входа в файл stune (1m).

| |



Общие параметры ядра


NCALL - определяет, сколько нужно выделить элементов для таблицы вызовов. Каждый элемент представляет функцию, которая активизируется позже с помощью части подпрограммы ядра взаимодействия с таймером. Это значение должно быть больше 2, оно обычно находится в пределах от 30 до 250. Значение по умолчанию 60. Каждый элемент содержит 16 байтов; NFILE - раньше параметр проверял, сколько элементов таблицы открытых файлов нужно выделить. Элементы таблицы файлов распределяются динамически; NMOUNT - раньше параметр проверял, сколько элементов монтируемой таблицы нужно выделить. Элементы монтируемой таблицы распределяются динамически; NPROC - раньше параметр проверял, сколько выделить элементов таблицы процессов. Элементы таблицы процессов распределяются динамически. NPROC до сих пор применяется какверхнийпределнекоторых пользовательских процессов; до сих пор существует предел в некоторых процессах, созданных каждым пользователем (см. MAXUP); 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; MAXPMEM - определяет максимальный объем физической памяти для использования на страницах памяти. Значение по умолчанию 0 определяет, что используется весь объем имеющейся физической памяти; SHLBMAX - определяет максимальное число статических общих библиотек, которые могут быть подключены к процессу одновременно. Система SVR4.0 Version1.0 также поддерживает динамические общие библиотеки. Этот параметр влияет на использование статических общих библиотек только в прикладных программах системы SVR3.2; 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 - определяет число групп пользователей, которым может принадлежать пользователь. Система SVR4.0 имеет новое свойство, позволяющее пользователю иметь доступ одновременно к многочисленным группам, не выполняя команду 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) могут изменять принадлежность файла. Владелец файла может только заменить идентификатор группы файла на одну из групп, членом которой является владелец. Привилегированный пользователь и корневые прцессы могут изменить значение идентификатора групп файла на любое другое.



Описание параметров


13.4.1.
13.4.2.
13.4.3.
13.4.4.
13.4.5.
13.4.6.
13.4.7.
13.4.8.
13.4.9.
13.4.10.
13.4.11.
13.4.12.
13.4.13.

Делее показана схема настраиваемых параметров системы, определенных в файле /etc/conf/cf.d/mtune. Они представлены в приблизительном порядке появления в файле mtune. Категории параметров таковы:

общие параметры ядра; параметры файловой системы; параметры подкачки; параметры STREAMS; параметры взаимодействия процессов; параметры общих удаленных файлов (RFS); параметры XENIX; различные параметры; параметры драйверов устройств; параметры синхронного ввода/вывода (ASYNCIO); параметры событий; параметры таймера и планировщика; параметры границ ресурса (структура rlimit).

Многие из этих параметров используются драйверами устройств или в других функциях ядра, являющихся частью расширенных пакетов, например, расширенного пакета Network Support Utilities (NSU) - Утилиты поддержки сети и расширенного пакета Remote File Sharing (RFS) - Совместное использование удаленных файлов. Если эти пакеты не установлены, настройка значений параметров не повлияет на конфигурацию вашей системы.



Особые случаи


Часто использование системы требует настройки определенных параметров на особые условия. Общая необходимость - создавать очень большие файлы. Это можно выполнить, если стать привилегированным пользователем и изменить "ulimit" для процесса оболочки ядра shell командой ulimit(1) или путем изменения строки ULIMIT в файле /etc/default/login. Альтернативное решение - модифицировать систему SFNOLIM для всех пользователей.



Параметры Asyncio


NAIOSYS - максимальное количество известных системных вызовов асинхронного ввода/вывода. Используется модулем "async", не являющимся частью основной системы SVR4.0; MINAIOS - минимальное количество процессоров асинхронного ввода/вывода. Используется модулем "async", не являющимся частью основной системы SVR4.0; MAXAIOS - максимальное количество процессоров асинхронного ввода/вывода. Используется модулем "async", не являющимся частью основной системы SVR4.0; AIOTIMEOUT - количество секунд, в течение которых процессор асинхронного ввода/вывода ожидает начала работы. Используется модулем "async", не являющимся частью основной системы SVR4.0; NAIOPROC - Допустимое количество запросов на асинхронный ввод/вывод на один процесс. Используется модулем "async", не являющимся частью основной системы SVR4.0.



Параметры диспетчера/планировщика/таймера


HRTIME - этот параметр используется для определения размера массива hrtimes. Массив используется для сохранения дорожки от запроса на переход в режим ожидания или на аварийный сигнал для генератора импульсов реального времени; HRVTIME - параметр используется для определения размера массива itimes. Массив используется для сохранения дорожки запросов на аварийный сигнал для того, чтобы генератор тактовых импульсов мог измерить виртуальное время пользовательского процесса; RTMAXPRI - диапазон, в котором пользователи могут регулировать пользовательский приоритет процесса реального времени, от -RTMAXPRI до +RTMAXPRI; RTNPROCS - определяет размер таблицы, содержащей информацию о приоритете для процессов реального времени; TSMAXUPRI - диапазон, в котором пользователи могут регулировать пользовательский приоритет процесса разделения времени, от -TSMAXUPRI до +TSMAXPRI. Планирование конфигурации с более высокими значениями позволяет пользователям тщательнее контролировать приоритет их процессов (учтите, что только привилегированный пользователь можетповысить приоритет). Значение по умолчанию 20 - это степень контроля, эквивалентная той, что была в прошлом в интерфейсе nice(2); TSNPROCS - определяет размер таблицы, содержащей информацию о приоритете для процессов разделения времени; MAXCLSYSPRI - максимальный глобальный приоритет, используемый классом планировщиков SYS для планирования процессов ядра системы. Изменение этого параметра изменяет диапазон приоритетов и может значительно повлиять на работу системы. В общем, нет необходимости изменять этот параметр, если вы не добавляете новые классы планировщиков или заново не конфигурируете приоритеты других сконфигурированных классов.



Параметры драйверов устройств


NUMXT - определяет количество xt уровней, которые сконфигурировали подустройства для поддержки устройств с растровым дисплеем с поточной адресацией; NUMSXT - определяет количество уровней оболочки системного ядра, конфигурируемых подустройствами; NCPYRIGHT - определяет размер структуры данных ядра системы, используемой для печати сообщений об инициализации. Пользователям не следует изменять этот параметр; NKDVTTY - раньше проверял количество виртуальных терминалов (ttys), поддерживемыхдрайверомоператорской клавиатуры. В SVR4.0. параметр не действует и заменяется информацией файла /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 (Дистанционное обслуживание драйвера канала связи). Если этого расширения в вашей системе нет, этот параметр не действует.



Параметры файловой системы


NINODE - определяет количество элементов в таблице индексных дескрипторов файлов "s5". "s5" относится к типу файловой системы "System V". В системе SVR3.2 этот параметр управлял всеми индексными дескрипторами файлов систем всех типов. В системе SVR4.0 механизм vnode заменяет переключатель файловой системы, а NINODE определяет только число индексных дескрипторов файлов "s5". В SVR4.0 таблица индексных дескрипторв файлов фактически является связанным списком. Каждый элемент имеет 204 Кбайта. Эмпирическое правило - выделить 100 для каждого мегабайта памяти, допуская что "s5" - главный используемый тип файловойсистемы. Использование "sar -v" помогает убедиться, что этот параметр установлен правильно; NS5INODE - параметр удален. (См. NINODE) UFSNINODE - количество элементов индексных дескрипторов файлов системы ufs. Если главной файловой системой является ufs, тогда должно быть выделено приблизительно 100 элементов индексных дескрипторов файлов на каждый мегабайт памяти; NDQUOT - размер таблицы ядра пространства, выделенного для файловой системы ufs. Для каждого пользователя - 1 элемент; поэтому значение NDQUOT должно быть больше максимального числа пользователей, которые могут войти в систему, если ufs - главный тип файловой системы. Если выделенное пространство задействовано, тогда элементы таблицы ограничивают количество выделенного дискового пространства. Если элементов нет, на операторском терминале печатается сообщение "dquot table full". Если это происходит, нужно увеличить значение NDQUOT; NRNODE - максимальное количество структур rnode, которое выделяется для NFS (файловой системы сети). Значение по умолчанию 300; S52KNBUF - раньше определял сколько 2 Кбайтов буферов системы нужно выделить. Этот параметр не фунционирует в SVR4.0; S52KNHBUF - раньше определял, сколько ячеек хеш-таблицы нужно выделить для 2 Кбайтов буферов. Этот параметр не функционирует в системе SVR4.0.



Параметры границ ресурса (структура rlimit)


Следующие параметры представляют значения по умолчанию в границах ресурса процесса, использующихся для объявления структуры rlimit. В системе SVR4.0. команда 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.

| |



Параметры общих удаленных файлов


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

Учтите, что эти параметры не влияют на вашу систему, если не реализован пакет расширений 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; RF_MAXKMEM - ограничивает постоянно распределяемую область памяти ядра системы, используемую системой rfs, включая информацию об отображении дескрипторов, списки прав доступа и дескрипторы отображения. Нулевое значение означает, что границ нет.



Параметры подкачки


Следующие параметры используются ядром системы и следующим процессом подкачки pageout, которые отвечают за освобождение области памяти по мере надобности:

VHNDFRAC - раньше управлял параметром следующего процесса подкачки в SVR3.2. Заново реализован в SVR4.0; AGEINTERVAL - раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в SVR4.0; GPGSLO - определяет нижнюю отметку свободной памяти в страницах, чтобы следящий процесс pageout начал изъятие страниц из процессов. Значение по умолчанию 25. Увеличьте значение, чтобы сделать следящий процесс более активным; уменьшите значение, чтобы сделать следящий процесс менее активным (это должно быть целое число >=0); GPGSHI - раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в SVR4.0; - раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в SVR4.0; MAXSC - раньше управлял параметром следящего процесса подкачки в SVR3.2. Заново реализован в SVR4.0; MAXFC - раньше - параметр следящего процесса подкачки в SVR3.2. Заменяется параметрами SVMMLIN и HVMMLIN; MAXUMEM - раньше определял максимальный размер пространства виртуального адреса пользователя в страницах в SVR3.2; DFN MINARMEM определяет минимальное количество страниц памяти для текстов и сегментов данных пользовательских процессов; MINASMEM - пороговое значение, определяющее количество страниц памяти и подкачки для целей системы; MINAKMEM - пороговое значение минимального количества страниц, зарезервированное как непостоянное пороговое значение kmem_alloc во избежание тупиковых ситуаций; MINHIDUSTK - раньше ассоциировался с местом пользовательского стека в SVR3.2. Этот параметр не функционирует в SVR4.0; MINUSTKGAP - раньше ассоциировался с местом пользовательского стека в SVR3.2. Этот параметр не функционирует в SVR4.0; PAGES_UNLOCK - этот параметр использовался в ранней версии SVR4 и остался формальным параметром.



Параметры событий


MEVQUEUES - максимальное количество структур событий ядра системы (evkev_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0; MEVKEVS - максимальное количество структур очереди событий (evqueue_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0; 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) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0; MEVSIGS - максимальное количество сигнальных структур событий (evsig_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0; MEVSTRDS - максимальное количество структур данных потока (evd_stream_t) для распределения. Используется модулем "events", не являющимся частью основной системы SVR4.0; 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.



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


Есть несколько параметров в файле mtune, которые релевантны только системе UNIX SVR4.0 Version1.0 и не могут существовать в других реализациях SVR4.0. Эти параметры таковы:

DO386B1 DO387CR3 DMAABLEBUF DMAEXEC KDBSYMSIZE MAXMINOR SYSSEGSZ PIOSEGSZ SEGMAPSZ

Другие параметры расширенного пакета

| |



Параметры 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, которые можно ввести в интерфейс транспортной библиотеки (TLI). Это значение контролирует количество структур данных, используемых для хранения данных конфигурации модулей, введенных в потоки; NUMTRW - определяет количество структур данных для считывания/записи в TLI, которое нужно выделить в пространстве данных ядра системы; NUMSAD - количество номеров устройств, имеющееся в драйвере администратора потоков (SAD); NSTRPHASH - размер внутренних ячеек хеш-таблицы. Этот параметр не нужно изменять, если количество драйверов в системе не станет очень большим; NAUTOPUSH - количествоустройств,которые можно сконфигурировать для автопроталкивания в стек. Если SAD_SAP ioctl не выполняется с errno, установленным в значение 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.



Параметры XENIX


DSTFLAG - временный признак для поддержки вызова системы XENIX ftime(). Этот параметр устанавливает значение timeb.dstflag, возвращенное вызовом системы ftime(); NSCRN - количество мультиэкранов для поддержки системы XENIX; NEMAP - количество отображений ввода/вывода для поддержки отображения символов системы XENIX European; TIMEZONE - параметр устанавливает значение timeb.timezone, возвращенное вызовом команды ftime(); XSEMMAX - определяет количество семафоров в системе XENIX. Значение по умолчанию и максимальное значение 60; XSDSEGS - определяет количество сегментов в общих данных системы. Значение по умолчанию 25; XSDSLOTS - определяет максимальное количество подключений сегментов общих данных XENIX, допускаемое системой. Значение по умолчанию и максимальное значение 3.



Переконфигурация ядра системы для разрешения новых параметров


После модификации файла 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



Различные параметры


DO386B1 - контролирует использование B1 Stepping как программное решение проблем при производстве первых микросхем 386. Этот параметр нельзя устанавливать в "1"; DO387CR3 - контролирует установку разрядов высшего порядка в управляющем регистре 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. Его нельзя изменять; оно было превращено в настраиваемый параметр для возможного будущего расширения.



Сообщения ядра системы о превышении границ системы


Бывают случаи, когда ядро системы UNIX рекомендует превысить границы системы. Эти сообщения поступают на консоль оператора. Некоторые сообщения только рекомендательные, в других случаях распечатываются дополнительные диагностичнские сообщения, требующие повторной начальной загрузки. Если такие сообщения возникают, необходимо обратиться к соответствующему настраиваемому параметру за дополнительной информацией.



Удаленные параметры


Следующие параметры были удалены. В большинстве случаев возможность ядра, контролируемая этими параметрами, была переконструирована таким образом, что старый параметр оказывается неуместным.

AGEINTERVAL GPGSHI GPGSMSK MAXFC MAXSC NADVERTISE NKDVTTY NLOCAL NREGION NREMOTE RFHEAP RFS_VHIGH RFS_VLOW S52KNBUF S52KNHBUF SHMALL STRLOFRAC STRMEDFRAC VHNDFRAC



В этом разделе описываются процедуры


В этом разделе описываются процедуры изменения настраиваемых параметров операционной системы UNIX. Система UNIX использует схему Устанавливаемых управляющих программ/Настраиваемых параметров (ID/TP). Настройка этих параметров может оказывать значительное влияние на работу системы (как положительное, так и отрицательное). Перед настройкой ядра основательно продумайте использование своего компьютера, проанализируйте его текущую работу и рассмотрите другие факторы работы, например, организацию файловой системы, вторые промежуточные биты округления, эффективность $PATH и размеры блоков файловой системы.
| |

Заменяемые параметры


Следующие параметры были заменены в системе SVR4.0. Некоторые из этих параметров были заново реализованы в системе SVR4.0, чтобы постоянно находиться в структуре ресурсов системы (структура rlimit), определяющей "постоянные" и "непостоянные" границы каждого параметра. Настройка старого параметра не влияет на систему.

Примечание. Пары непостоянных и постоянных границ определяют значения системы по умолчанию, данные пользовательским процессам. Эти границы даны процессу 0, после этого дочерние процессы наследуют постоянные и непостоянные границы родительских процессов. Однако, когда процесс обрабатывает файл, пределы ресурсов этого процесса заново инициализируются до значений границ системы по умолчанию.

Процессы могут изменять свои собственные значения этих границ, используя setrlimit. Непостоянные границы можно изменять, но значения должны быть меньше или равными значениям постоянных границ. Только процессы, пользовательский идентификатор ID которого равен 0 (root), могут расширить их постоянные границы. Значение, равное RLIMIT_INFINITY (0x7FFFFFFF) обозначает, что ресурсы не имеют ограничений.

Теперь параметры в структуре rlimit выглядят так:

MAXUMEM заменяется на SVMMLIM, HVMMLIM NOFILES заменяется на SFNOLIM, HFNOLIM ULIMIT заменяется на SFSZLIM, HFSZLIM

Есть другие замененные, переименованные параметры и параметры с измененными значениями. Эти параметры:

BDFLUSHR переименован в FDFLUSHR NS5INODE заменен на NINODE NBUF функция NBUF изменена