|NHBUF | 64 | 64 | 128 |
|NCALL | 30 | 40 | 50 |
|NINODE | 150 | 200 | 300 |
|NS5INODE | 150 | 200 | 300 |
|NFILE | 150 | 200 | 300 |
|NREGION | 210 | 250 | 300 |
|NCLIST | 120 | 140 | 170 |
|NPROC | 100 | 120 | 150 |
+----------------+------------+----------------+--------------+
Организация файловой системы
В этом разделе описываются действия, предпринимаемые для
уменьшения числа обращений к файлам. При использовании файловой
системы блоки отдельных файлов имеют тенденцию распространяться
по всему диску, и следовательно ввод/вывод становится менее эф-
фективным. Из-за этого распространения образуется плохой порядок
блоков и плохая организация каталога.
- 8-12 -
Организация списка свободных областей в файловой структуре
Свободные блоки размещаются файловой структурой таким обра-
зом, чтобы обеспечить эффективное проведение операций чтения и
записи файлов. Список свободных областей создается тогда, когда
создается файловая система с помощью команды mkfs(ADM). Однако,
когда Вы начинаете изменять файлы(т.е. менять их размеры или пе-
ремещать их), эффективность работы уменьшается. Когда файлы соз-
даются первый раз, они состоят из блоков, взятых из списка сво-
бодных областей. Некоторые из блоков распределяются файлам не по
порядку. Как Вы можете видеть, список свободных областей также
распространяется по всему диску, как и блоки распределенные фай-
лам и освобожденные блоки.
Организация каталога
Организация каталогов также влияют на производительность
операций ввода/вывода. Проблема возникает во время перемещения
пользователем своих файлов. Когда файл удаляется из каталога,
тогда индексный дескриптор этого файла аннулируется. Из-за этого
образуется неиспользуемое место для этого дескриптора; через неко-
торое время число таких пустых мест становится слишком большим.
Если Вы имеете каталог для 100 файлов и удаляете первые 99
файлов, то этот каталог содержит 99 пустых неиспользуемых мест, по
16 байтов каждое, которые предшествуют активному индексному дес-
криптору файла. Разумеется, пока каталог не реорганизован на диске,
он будет сохранять тот максимальный размер, который когда-то получил.
Восстановление хорошей организации файловой системы
Не существует автоматических путей решения этих проблем;
однако, Вы можете вручную реорганизовать файловую систему. Су-
ществует несколько путей реорганизации. Учтите, что в случаях 1
и 3 , приведенных ниже, файловая система(ы) должна(ы) быть раз-
монтирована(ы).
1. Для реорганизации списка свободных участков, активизи-
руйте команду fsck(ADM), используя опцию -s
________________________________________________________________
Примечание
Реорганизация списка свободных участков не поддерживает
файловые системы AFS.
________________________________________________________________
- 8-13 -
2. Для реорганизации отдельных структур каталога, исполь-
зуйте команду cpio(C) -pdm для копирования их во времен-
ное новое место, удалите эти первичные структуры, а
затем используйте команду cpio -pdm для копирования их
обратно на первоначальное место.
Используйте следующую командную строку:
Ъ2find Ъ1sourcedirЪ2 -print | cpio -pdm destdir
где sourcedir - имя исходного каталога; destdir - имя
каталога, в который Вы перемещаете конкретную структу-
ру. После получения подтверждения того, что вся структу-
ра полностью скопирована, удалите полностью исходный ка-
талог. Наконец, произведите обмен указанных в
командной строке, описанной выше, имени каталога, в
который было проведено перемещение исходного каталога,
на имя исходного каталога, и выполните эту команду
снова. После удаления временного каталога, структура
Вашего исходного каталога будет реорганизована.
3. Для реорганизации файловой системы полностью использует-
ся выбор sysadmsh "Backups(Создание резервных копий)"
для выполнения незапланированного дублирования с нулевым
уровнем файловой системы. (Подробное описание дано в
разделе "Создание резервных копий файловых систем" этого
руководства). Когда операция создания резервной копии
будет завершена, следуйте инструкциям по восстановлению
всей файловой системы.
4. Если Вы имеете более одного диска, установите равновесие
распределения файловых систем.
- 8-14 -
________________________________________________________________
Определение эффективного способа использования системы
После того, как произведена настройка ядра и функций систе-
мы, и организована файловая система, следующим шагом в увеличе-
нии производительности системы будет выполнение служебных функ-
ций и проверка того, уменьшилось ли время первоначальной
загрузки. Ответственный администратор системы должен проверять
следующее :
* не смешиваются менее важные работы с более важными
* устранены ли ненужные действия
* спланированы ли определенные работы для времени, когда
система не занята
* эффективны ли определенные пользователем элементы, такие
как Ъ1profileЪ3 и $PATH
Команда ps
Команда ps(C) используется для получения информации об ак-
тивных процессах. Команда дает "моментальную" картину того, что
сейчас происходит, которая бывает очень полезна, когда Вы пытае-
тесь понять, какие процессы происходят в системе. Она вероятно
изменится к тому времени, когда появится вывод команды; однако,
Вас могут заинтересовать значения TIME (минуты и секунды работы
процессора для этих процессов) и STIME (время начала процесса).
Когда Вы определите "ворующий" процесс (тот, который захва-
тывает все больше ресурсов системы за период времени, в течение
которого Вы наблюдаете за ним), Вы должны определить, кто его
запускает. Возможно, что такой процесс должен быть немедленно
остановлен командой kill(C). Если это действительно выходящий из
под контроля процесс, то он будет продолжать поглощать системные
ресурсы, пока система не зависнет. Для такого "неубиваемого"
процесса единственным средством прекратить его является перезаг-
рузка.
Когда Вы заметите процесс, который выполняется слишком дол-
го, Вы можете использовать команду cron(C) для того, чтобы вы-
полнить задание в течение превышающего времени.
- 8-15 -
Переменные пользователя $PATH
$PATH просматривается при каждом выполнении команды. Перед
отображением на экран сообщения "not found(не найдено)" система
должна просмотреть каждый каталог $PATH. Этот просмотр требу-
ет времени как процессора, так и диска. Если диск или процессор
являются узким местом в работе системы, то изменения связанные с
ними, могут улучшить производительность системы.
Вы должны проверить среди пользовательских переменных:
* Эффективность пути
$PATH читается слева направо, так чтобы определить место-
нахождение команды в первом из перечисленных путей (/bin
и /usr/bin). Сделать так, чтобы некоторые каталоги не
повторялись больше одного раза для некоторой команды.
* Удобство и человеческий фактор
Пользователи могут отдать предпочтение просмотру текущего
каталога перед тем как просматривать их из перечислен-
ных путей (:/bin).
* Длину пути
В основном, переменная $PATH должна иметь как можно мень-
ше элементов.
* Ъ1Просмотр больших Ъ3каталогов
По возможности большие каталоги должны быть обойдены.
Поместите большие каталоги в конец переменной $PATH.
- 8-16 -
________________________________________________________________
Использование средств измерения производительности для ди-
агностирования эффективности системы
Операционная система содержит ряд средств для измерения
производительности системы. Администратор системы может исполь-
зовать эти средства для локализации области проблемы. В этом
разделе описаны следующие средства измерения продуктивности:
sar работает с внутренними системными регистрами совокуп-
ной деятельности системы и подготавливает отчеты по
различным аспектам работы системы.
timex подготавливает отчеты по работе системы и по процес-
сам во время выполнения команды или программы.
Внутренняя активность измеряется числом содержащихся в ядре
счетчиков. Каждый раз при выполнении операции наращивается соот-
ветствующий счетчик. Утилита sar(ADM) используется для диагнос-
тирования системных проблем. Двумя наиболее критическими для те-
кущего контроля областями являются использование памяти и
центрального процессора. Это средство позволяет Вам проверить
значение этих счетчиков. В следующих разделах приведены примеры
использования этих средств. В следующих разделах также обсужда-
ются функции, которыми можно управлять с помощью утилиты sar. В
этом разделе описываются опции sar c анализом выходной информа-
ции по измерениям, полученных с помощью этих опций. Sar можно
использовать для того, чтобы собирать данные о работе системы, а
также для выбора того, что было накоплено в информационных фай-
лах, созданных sa1 и sa2 . sa1 и sa2 инициируются элементами,
помещенными в файл crontab sys.
Основной синтаксис команды sar имеет следующий вид:
Ъ2 sar <опция> t
где
<опция> одна из опций, описанных в следующих разделах.
t выбранный интервал в секундах, может принимать
значения 5 и более.
Вы должны обеспечить работу системы в течении выбранного
интервала времени, если Вы хотите видеть данные в реальном вре-
мени; в противном случае будут отображены ранее собранные данные
из каталога /usr/adm/sa. Для получения большей информации по
более полному об'ему собираемых данных смотрите руководство по
команде sar(ADM).
- 8-17 -
Эти примеры даны для системы с 2 мегабайтами основной памя-
ти и жестким диском емкостью 30 мегабайт. Выходная информация
команды имеет типичные значения для пользовательской загрузки
системы. Значения, которые Вы получаете, могут отличаться от
значений в примерах, в зависимости от Вашего программного прило-
жения или контрольной задачи. Во время настройки системы реко-
мендуется использовать контрольную задачу или ставить систему
под стандартную нагрузку, чтобы настраивать систему непосредс-
твенно на Ваше конкретное применение.
Использование памяти: буферы и страницы
Определяя число системных дисковых буферов (или явно ис-
пользуя утилиту configure, или неявно, используя значения по
умолчанию), эффективно разделите доступную память между двумя
пулами: дисковым буферным пулом и страничным пулом. Страничный
пул содержит программы, которые должны выполняться, и кэш-копии
недавно использованных страниц программ. Если страничный пул
слишком мал для загрузки, возложенной на систему, то система бу-
дет постоянно обменивать страницы туда и обратно, чтобы только
поддержать текущие процессы.
Если страничный пул только слегка занижен в размере, эффект
будет виден не в увеличенном обмене, а в уменьшении работоспо-