Жанр: Учеба
SCO: Пособие администратора системы Unix
...единить цифру к мнемоническо-
му коду для указания номера драйвера. Имя специального
символ-ориентированного устройства должно иметь префикс
"r".
- 7-8 -
11. Постройте ядро, содержащее новые драйверы, используя
следующую команду:
./link_unix
sysadmsh выбор пользователя: Система-"Конфигурация-"Яд-
ро-"Построение
Установка связей займет некоторое время, поэтому следу-
ет осуществлять эту операцию после того, как будут ус-
тановлены все драйверы.
12. Загрузите новое ядро, используя следующую команду :
/etc/shutdown
sysadmsh выбор пользователя: Система-"Завершение
Появится сообщение о загрузке. По нажатию клавиши
"Return" активизируется перезагрузка системы и загру-
зится новое ядро.
________________________________________________________________
Примечание
Если возникнут проблемы с новым ядром, перезагрузите
/unix.old
________________________________________________________________
Глава 8
Настройка работы системы
________________________________________________________________
Введение 8-1
Примеры специального распределения ресурсов 8-3
Перераспределение ресурсов ядра с помощью утилиты
конфигурации 8-4
Использование командной строки configure 8-5
Реконфигурация в случае постоянных сообщений об
ошибках 8-7
Реконфигурация для выполнения задач 8-8
Когда настраивать и что настраивать 8-8
Специальные требования 8-8
Улучшение использования диска 8-9a
Что надо сделать когда добавляется память 8-10a
Организация файловой системы 8-11
Определение эффективного способа использования системы 8-14
Команда ps 8-14
Переменные пользователя $PATH 8-15
Использование средств измерения производительности
для диагностирования неэффективности системы 8-16
Использование памяти: Буферы и страницы 8-17
Использование буферов: sar -b 8-17
Производительность процесса: sar -q 8-18
Использование процессора: sar -u 8-19
Системные таблицы: sar -v 8-20
Свопинг: sar -w 8-21
Проверка работы системы по командам: timex 8-22
Описание настраиваемых системных параметров 8-23
Диски и буферы 8-23
Символьные буферы 8-25
Файлы, индексные дескрипторы файла и файловые
системы 8-26
Процессы, управление памятью и свопинг 8-29
Часы 8-31
Мультиэкраны 8-32
Очередь сообщений 8-32
Семафоры 8-33
Разделенные данные 8-34
Имя системы 8-35
Потоки данных 8-35
Очереди событий и устройства 8-38
Аппаратно-зависимые параметры 8-38
Параметры разделения удаленных файлов 8-38
- 8-1 -
________________________________________________________________
Введение
Конструктор связей содержит утилиту configure(ADM), которая
используется для изменения числа параметров, влияющих на работу
системы. В этой главе объясняется как изменить эти параметры
применительно требованиям Вашей системы. Кроме того, включены
основные процедуры, которые помогут улучшить использование ресурсов
и работу системы.
Система UNIX оптимизирована для использования с разнообразными
конфигурациями технических средств и является базой для
различных применений. Ядро, которое является сердцем операционной
системы, управляет числом ресурсов постоянно использующихся,
освобождающихся и повторно подключающихся. Эти ресурсы включают:
буферы
некоторый набор блоков внутренней памяти, используе-
мых для хранения в них используемых данных. (Буферы
увеличивают эффективность, так как данные хранятся
во внутренней памяти, что уменьшает число операций
чтения с диска).
табличные элементы
некоторая область в каких-либо таблицах, которая ис-
пользуется ядром для хранения информации о текущих
задачах, ресурсах и событиях.
другие параметры
Другие определяемые значения, управляющие специаль-
ными ресурсами (такие как число доступных мультиэк-
ранов или количество сигнальных устройств).
Использование этих ресурсов определяется некоторыми границами,
которые можно сузить или расширить, иногда за счет других
ресурсов.
Настройка работы системы обязательно потребует внимания при
первичной установке системы UNIX. Когда Вы первый раз загружаете
систему, она автоматически настроена на стандартную конфигурацию,
которая удовлетворяет большинству ситуаций. Эта конфигурация,
однако, не может считаться образцом использования системы
для конкретного применения. Поэтому структура системы позволяет
провести ее реконфигурацию для увеличения эффективности конкретного
использования системы по сравнению со стандартной конфигурацией
системы.
- 8-2 -
________________________________________________________________
Примечание
Хотя существуют средства, которые упрощают процесс настройки,
мы не рекомендуем изменять параметры ядра без особой
необходимости.
________________________________________________________________
Существует несколько причин для перераспределения ресурсов
системы :
* Вы устанавливаете дополнительную память и поэтому хотите
распределить больше памяти.
* Постоянно появляются сообщения об ошибках, которые пока-
зывают, что заняты определенные ресурсы, такие как ин-
дексные дескрипторы файла или элементы таблицы.
* Время реакции системы постоянно слишком велико, а это оз-
начает, что ресурсы очень малы для эффективной работы
системы (например, очень мало установлено физической па-
мяти).
* Ресурсы необходимо перестроить для того. чтобы они отве-
чали требованиям конкретного приложения.
Кроме того, важно определить, какие из ресурсов оказались
излишними или неэффективно распределенными. Определенные настраиваемые
параметры отвечают требованиям к системе, когда устанавливается
дополнительная память с целью поддержки системой большего
количества пользователей. Однако, для компьютера,
используемого в качестве высоко-производительного персонального
компьютера или специализированного процессора, нет необходимости
увеличивать настраиваемые параметры ядра, когда устанавливается
дополнительная память. Конечно, настройка определенных параметров
обычно связана с установкой дополнительной памяти для поддержки
большего количества пользователей (NBUF, NCLIST и др.)
может на самом деле уменьшить общую производительность, так как
эти параметры увеличивают размер требуемой области данных ядра,
что уменьшает доступный размер новой памяти для работы пользователей.
Проще говоря, ожидаемое использование Вашего компьютера и
Ваши планы, как это делать, должны использоваться как руководство
при определении требований по настройке параметров.
Существуют другие стороны настройки конфигурации системы,
приводящие к отрицательному влиянию на работу системы. Например:
* организация файловой системы
* организация каталогов
* эффективность использования $PATH
- 8-3 -
* использование ps, sar, учета работы, профилирование ядра
и другие системные утилиты для определения степени ис-
пользования системы.
В этой главе также обсуждается вопрос о том, как убедиться,
что система работает с максимальной эффективностью в конкретных
областях применения.
Примеры специального распределения ресурсов
Специальные приложения зачастую требуют перераспределения
ключевых ресурсов системы для оптимизации работы. Например,
пользователи, работающие с большими базами данных, могут решить,
что необходимо увеличить число распределенных файлов по отношению
к текущему числу файлов, установленных в системе. Пользователи,
которым не требуется специальных средств, например, таких
как управление сообщениями, могут решить, что они получат некоторое
увеличение скорости работы системы при отсоединении этих
средств.
Решение об оптимизации использования конкретных ресурсов
рассматривается как решение о настройке ядра. Каждый ресурс или
ограничение представляется отдельным параметром ядра. Текущие
значения этих параметров изменяются с помощью утилиты configure.
- 8-4 -
________________________________________________________________
Перераспределение ресурсов ядра с помощью утилиты CONFIGURE
Утилита configure является легко используемой меню-ориентированной
программой, которая представляет каждый ресурс и запрос
на модификацию, устанавливает распределение соответствующих ресурсов,
редактирует ядро, включая процедуры установки среды
link_unix, копирует ядро в корневой каталог, перезагружает и
тестирует новое ядро.
Чтобы изменить какой-либо параметр ядра необходимо выполнить
следующие действия:
1. Перезагрузите систему и выберите однопользовательский
режим(режим сопровождения).
2. Используйте команду custom (ADM) для того, чтобы опреде-
лить установлен ли пакет конструктора связей (LINK). Ес-
ли нет, - установите его с помощью команды custom.
3. После того, как Вы убедитесь, что конструктор связей ус-
тановлен, введите следующие команды:
cd /etc/conf/cf.d
./configure
sysadmsh выбор пользователя: Система-" Конфигурация-"
Ядро-" Параметры
4. На экране отобразится меню утилиты configure:
+---------------------------------------------------------------+
| 1. Дисковые буферы |
| 2. Символьные буферы |
| 3. Файлы, индексные дескрипторы и файловые системы |
| 4. Процессы, управление памятью и своппинг |
| 5. Часы |
| 6. Мультиэкраны |
| 7. Очередь сообщений |
| 8. Семафоры |
| 9. Разделенные данные |
| 10. Имя системы |
| 11. Потоки данных |
| 12. Очередь событий и устройства |
| 13. Аппаратно-зависимые параметры |
| 14. Параметры разделенных удаленных файлов |
| |
| Выберите категорию параметров, подлежащих реконфигура- |
| ции, набрав ее номер от "1" до "14" или "q" для выхода: |
+---------------------------------------------------------------+
- 8-5 -
Выберите категорию с помощью ввода соответствующего но-
мера. Тогда на экране отобразятся один за другим ресурсы
этой категории, каждый со своим текущим значением. Вве-
дите новое значение для этого ресурса или оставьте его
текущее значение простым нажатием клавиши "Return". Пос-
ле того как будут отображены все ресурсы выбранной кате-
гории, утилита configure возвращается к меню со списком
категорий параметров. Выберите другую категорию парамет-
ров для изменения или покиньте утилиту нажатием клавиши
"q".
________________________________________________________________
Примечание
Следует отметить, что программный пакет, соответствующий
изменяемому параметру, должен существовать, чтобы действительно
использовать ресурс соответствующий параметру. Например, пакет
Stream должен быть установлен для параметров потоков, чтобы был
эффект.
________________________________________________________________
5. После того, как Вы закончите изменять параметры, надо
включить их в новое ядро. Введите следующую команду:
./link_unix
sysadmsh выбор пользователя: Система-" Конфигурация-"
Ядро-" Построение
Эта команда собирает каждый из модулей ядра в новое яд-
ро, которое должно быть теперь установлено. Следуйте ин-
струкциям раздела "Тестирование и установка нового яд-
ра" в главе "Добавление драйверов устройств с помощью
конструктора связей".
Использование командной строки configure
Утилита configure имеет также интерфейс командной строки,
используемый для разработчиков программных приложений. Например,
разработчик баз данных решает, что ему необходимо разместить одновременно
70 файлов вместо 50, тогда он может использовать процедуру
установки среды для того, чтобы выполнить реконфигурацию.
Для того, чтобы определить текущее значение некоторого ресурса
конфигурации, используя интерфейс командной строки, следует
ввести:
- 8-6 -
Ъ2./configure -y RESOURCE
где RESOURCE - имя настраиваемого параметра (набирается
прописными буквами). Для того чтобы изменить значение некоторого
ресурса, используя командную строку, введите:
Ъ2./configure RESOURCE="значение"
Этот интерфейс является дополнением к интерактивному; одни
и те же ресурсы могут включаться в конфигурацию с помощью обоих
интерфейсов.
Следующий раздел описывает действия необходимые для реконфигурации
ресурсов ядра.
- 8-7 -
________________________________________________________________
Реконфигурация в случае постоянных сообщений об ошибках
Бывают ситуации, когда операционная система выдает сообщения,
что превышены системные ограничения. Эти сообщения выдаются
в виде строк на экране консоли. Некоторые из них являются чисто
информационными. Другие предшествуют аварийному состоянию системы,
в этом случае выводятся дополнительные диагностические сообщения
и система "подвисает", требуя вмешательства для перезагрузки.
Не следует изменять конфигурацию ядра, если сообщение
получено один раз, или даже несколько раз, а только в том случае,
когда одно и тоже сообщение появляется постоянно.
Если Вы встречаете одно из сообщений перечисленных в таблице
8.1, обратите внимание на соответствующие параметры настройки
для получения дополнительной информации. Если возникла необходимость
в регулировке ресурса, попробуйте увеличить для начала его
значение на небольшую величину, если проблема остается, то следует
увеличить значение ресурса на 100% или более относительно
его первоначального значения. Если проблема все еще не будет решена,
то следует более детально исследовать ситуацию и определить,
какая программа или последовательность приводят к ошибке.
- 8-7a -
Таблица 8.1
Сообщения об ошибках и связанные с ними настраиваемые параметры
+-----------------------------------------------+--------------+
| Сообщения об ошибках ядра | Параметры |
+-----------------------------------------------+--------------+
|iget-inode table overflow | NINODE |
|(переполнение таблицы iget-inode) | |
+-----------------------------------------------+--------------+
|timeout table overflow | NCALL |
|(переполнение таблицы таймаутов) | |
+-----------------------------------------------+--------------+
|file table overflow | NFILE |
|(переполнение таблицы файлов) | |
+-----------------------------------------------+--------------+
|mfree map overflow n(*) | SPTMAP |
|(переполнение плана mfree) | |
+-----------------------------------------------+--------------+
|Region table overflow | NREGION |
|(переполнение таблицы регионов) | |
+-----------------------------------------------+--------------+
|configured value of NOFILES n(*) is less than | NOFILES |
|minimum(greater of the maximum) | |
|[значение NOFILES в конфигурации меньше | |
|минимального(больше максимального)] | |
+-----------------------------------------------+--------------+
|stropen: out of streams | NSTREAM |
|(выход за возможное число открытых потоков) | |
+-----------------------------------------------+--------------+
|swapdel - too few free pages | MINASMEM |
|(удален свопинг - очень мало свободных страниц)| |
+-----------------------------------------------+--------------+
|stropen: out of stream | NSTREAM |
|(выход за возможное число открытых потоков) | |
+-----------------------------------------------+--------------+
|stropen: out of queues | NQUEUE |
|(выход за число возможных очередей | |
|открытых потоков) | |
+-----------------------------------------------+--------------+
(*) Значение n указывает действительное значение в сообщении
об ошибке.
- 8-8 -
________________________________________________________________
Реконфигурация для оптимальной работы системы
Система сконфигурирована таким образом, чтобы большое количество
ресурсов ядра было предназначено для решения большинства
общих задач, таких как чтение и запись на диск, однако выполнение
большинства специальных задач (таких как связь между промежуточными
процессами) не должно игнорироваться. Этот баланс может
быть установлен в соответствии с индивидуальными
требованиями.
Когда настраивать и что настраивать
Некоторые системы поддерживают одновременную работу множества
пользователей. При добавлении пользователей в такую систему
обычно добавляется дополнительная память и настраиваются
системные параметры таким образом, чтобы ядро работало более эффективно.
В основном это заключается в том, что распределяется
больше памяти под область данных ядра увеличением размера структуры
данных ядра. Это в основном позволяет системе поддерживать
работу большего числа пользователей. Однако, так как структуры
данных увеличились, то уходит больше времени для их просмотра, и
действительное увеличение определенных параметров может на самом
деле замедлить работу системы. Например, увеличение параметра
NPROC позволит системе поддерживать больший список (таблица процессов)
активных процессов. Это может оказать неблагоприятное
влияние на планировщик ядра, так как он теперь вынужден просматривать
этот большой список каждый раз, когда устанавливает, какой
процесс должен идти следующим. Кроме того, так как увеличена
область данных ядра за счет увеличения размера таблицы, остается
меньше памяти для пользовательских процессов, что может также
снизить общую производительность.
Требования в исключительных ситуациях
Часто использование Вашей системы ставит Вас перед необходимостью
настраивать определенные параметры в отдельных случаях.
Типичным случаем является требование создавать очень большие
файлы. Это может быть совершено посредством создания привелегированного
пользователя или модификации "ulimit" для отдельного
процесса, который Вы выполняете как суперпользователь. Альтернативным
решением данного вопроса может быть изменение системного
значения ULIMIT для всех пользователей. Параметр ULIMIT и другие
часто встречающиеся ограничения собраны в таблице 8.2. Прежде
чем сделать конкретные шаги по перестройке конфигурации, следует
обратиться к разделу "Описание настраиваемых параметров" для получения
более подробной информации.
- 8-9 -
Таблица 8.2
Настройка для особых случаев
+------------------------------------------+-------------------+
| Ожидаемое улучшение | Параметры |
+------------------------------------------+-------------------+
|Улучшение работы системы* при установке | NBUF,NHBUF |
|дополнительной памяти | |
+------------------------------------------+-------------------+
|Другие параметры связанные с производи-| NAUTOUP,MAXSLICE,|
|тельностью системы | BDFLUSHR, |
| | AGEINTERVAL |
| | (см. также стра- |
| | ничные парамет- |
| | ры) |
+------------------------------------------+-------------------+
|Расширение системных ограничений в случае| NCALL,NINODE, |
|установки дополнительной памяти (обеспече-| NSINODE,NFILE, |
|ние большего числа пользователей; уменьше-| NPROC,NREGIONS, |
|ние возможности системных ошибок в случае| NCLIST (см.так- |
|сильной загрузки и др.) | же сообщения, |
| | средства синхро- |
| | низации и парамет-|
| | ры разделенной па-|
| | мяти) |
+------------------------------------------+-------------------+
|Пользователю необходимо создавать большие| ULIMIT |
|файлы | |
+------------------------------------------+-------------------+
|Каждому пользователю необходимо открывать| NOFILES |
|больше файлов | |
+------------------------------------------+-------------------+
|Каждому пользователю необходимо запускать| MAXUP |
|большее число процессов | |
+------------------------------------------+-------------------+
|Другие системные ограничения, которые мо-| SHLBMAX,FLCKREC, |
|гут встретиться | SPTMAP,NUMXT, |
| | NUMSXT,PRFMAX, |
| | (см. также |
| | STREAMS и пара- |
| | метры RFS) |
+------------------------------------------+-------------------+
|Разное | PUTBUFSIZE, |
| | DO387CR3 |
+------------------------------------------+-------------------+
- 8-9a -
* Учтите, что увеличение размера кэш-буфера увеличивает
возможность того, что часто используемые данные будут вызываться
из памяти, а не считываться с диска. В зависимости от конкретного
использования системы, увеличение случаев повторного использования
блоков данных может не вести к общему увеличению производительности
системы. Для некоторых же сценариев использования
системы это может дать значительное улучшение работы. Смотри
"Установление размеров кэш-буфера".
Улучшение использования диска
Ввод/вывод с диска может стать узким местом в работе системы.
Существует три ступени в настройке дисковой подсистемы для
ее лучшего использования.
* Выбор надлежащего число буферов.
* Организация файловой системы с минимизацией работы диска.
- 8-10 -
Установка размеров кэш-буфера
Параметр NBUF определяет количество буферов по 1К в системном
кэш-буфере. В эти буфера помещаются недавно использованные
данные на тот случай, если эти данные снова понадобятся. Если
запрос на чтение или запись может быть удовлетворен использованием
кэш-буфера, а не диска, производительность системы увеличивается
за счет того, что операции с памятью проводятся значительно
быстрее, чем дисковые операции. NHBUF указывает число
хэшированных областей памяти в кэш-буфере. Чем больше буферов,
тем больше случаев, когда данные могут быть найдены в буфере, а
не считывались с диска, что занимает много времени. Соотношения
удачных попыток чтения и записи в кэш, отображаемые с помощью
sar-b показывают насколько эффективно работают буфера системы.
Значение параметра NHBUF должно быть порядка 2; кроме того, значение
NBUF деленное на значение NHBUF должно приблизительно равняться
4.
Значения NBUF и NHBUF в файле mtune являются хорошей отправной
точкой для кэш-буфера. Эти значения тесно связаны с оптимизацией
наибольшей рабочей нагрузки системы. Увеличивая NBUF и
NHBUF до некоторой точки, можно улучшить производительность системы.
Система с 2 мегабайтами памяти может, как правило, отдать
около 250 К памяти , тогда как система с 4 мегабайтами - около
400 К памяти под буфера. Однако, если размещено слишком много
буферов, то не хватает памяти для эффективной работы пользовательских
процессов и увеличивается свопинг, выполняемый системой.
Свопинг обычно стоит больше для эффективности системы,
чем выделение большего буферного пространства. Если команда
sar-b, показывает, что в Вашей системе swpot/s больше чем 1.0,
то добавление буферов нерационально. Кроме того, при увеличении
числа буферов, обслуживаемых ядром, увеличивается время на выполнение
программ ядра, отвечающих за распределение и освобождение
...Закладка в соц.сетях