собности кэша при повторном прогоне одних и тех же программ. Это
означает, что страниц достаточно для эффективной обработки теку-
щих программ, но их не хватает для сохранения часто используемых
страниц в памяти для того, чтобы имелся потенциальный доступ к
ним.
При использовании команды sar Вы можете определить, сколько
программ должны участвовать в обмене в течении данного интервала
времени. Если очевиден чрезмерный свопинг, Вы можете перераспре-
делить память так, чтобы увеличить страничный пул. (См. "Сво-
пинг: sar -w" для информации о текущем контроле свопинга).
Использование буферов: sar -b
Опция -b позволяет получить отчет о работе буферов:
bread/s Среднее число физических блоков, считываемых в
системные буфера с диска (или другого блок-ори-
ентированного устройства) в секунду.
lread/s Среднее число логических блоков, считываемых из
системных буферов в секунду.
%rcache Доля логического чтения из системного кэш-буфера
(100% минус отношение breads/lreads).
- 8-18 -
bwrit/s Среднее число физических блоков, записываемых из
системных буферов на диск (или другое блок-ори-
ентированное устройство) в секунду.
lwrit/s Среднее число логических блоков, записываемых в
системные буфера в секунду.
%wcache Доля операций логической записи в кэш-буфер
(100% минус отношение bwrit/s к lwrit/s).
pread/s Среднее число запросов физического чтения в се-
кунду.
pwrit/s Среднее число запросов физической записи в се-
кунду.
Наиболее интересным значением является удачное соотношение
%rcache и %wcache, которое показывает эффективность работы сис-
темных буферов. Если %rcache опускается ниже 90, или %wcache
опускается ниже 65, то возможно улучшить работоспособность сис-
темы за счет увеличения числа буферов.
Пример выходной информации sar -b:
+---------------------------------------------------------------
| unix unix 3.2 2 386i 02/18/89
|16:32:57 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
|16:33:07 3 39 93 1 16 91 0 0
|16:33:17 4 40 90 2 16 87 0 0
|16:33:27 4 41 90 3 7 64 0 0
| Average 4 40 91 2 13 84 0 0
|(среднее)
Этот пример показывает что буфера не являются узким местом,
так как все данные находятся в приемлемых пределах.
Производительность процесса: sar -q
Опция sar -q позволяет определить среднее значение длины
очереди в то время как она существует и процент времени, в тече-
нии которого она существует.
runq-sz Прохождение очереди процессов в памяти; обычно
это значение должно быть меньше 2. Если это зна-
чение постоянно больше, то это означает, что про-
цессор работает на пределе.
%runocc Процент времени, занимаемого очередью процессов;
чем больше это значение, тем лучше.
swpq-sz Обмен очереди процессов на свопинг; чем меньше
это значение, тем лучше.
%swpocc Процент времени занятости очереди на свопинг; чем
меньше это значение, тем лучше.
- 8-19 -
Пример выходной информации sar -q:
+---------------------------------------------------------------
| unix unix 3.2 2 386i 02/18/89
| 11:00:56 runq-sz %runocc swpq-sz %swpocc
| 11:01:07 1.7 98 1.5 36
| 11:01:17 1.0 63 1.0 31
| 11:01:27 1.0 58 1.0 49
| Average 1.3 74 1.2 39
|(среднее)
В этом примере использование процессора (%runocc) меняется
в пределах от 58% до 98%, во время того, как очередь на свопинг
не является пустой (%swpocc) и колеблется от 31% до 49%. Это оз-
начает, что память не является узким местом в системе, однако,
увеличение памяти поможет уменьшить активность страничного обме-
на.
Если %runocc принимает значение больше 90% и runq-sz больше
2, то процессор сильно загружен, и время ответа системы увеличи-
вается. В этом случае может потребоваться установка дополнитель-
ного процессора для получения удовлетворительной реакции систе-
мы. Если %swpocc больше 20%, то добавление памяти или нескольких
буферов поможет уменьшить активность страничного обмена.
Использование процессора: sar -u
Использование процессора проверяется с помощью команды sar-
u (значение задано по умолчанию). В каждый данный момент процес-
сор может быть либо занят работой, либо простаивать. В рабочем
состоянии процессор может находиться либо в пользовательском,
либо в системном режиме. В нерабочем состоянии процессор может
либо ожидать завершения ввода/вывода, либо просто не иметь рабо-
ты для выполнения. Опция -u команды sar показывает процент вре-
мени, в течение которого процессор находится в системном режиме
(%sys), пользовательском режиме (%user), в состоянии ожидания
завершения ввода/вывода (%wio) и в состоянии простоя(%idle).
При обычном использовании разделения времени %sys и %usr
имеют примерно равные значения. Для специальных приложений каж-
дый из этих параметров может быть больше других, и это не гово-
рит о какой-либо ненормальности в работе системы. Большая вели-
чина %wio обычно означает, что диск является узким местом в
работе. Большое значение %idle, наряду с ухудшением реакции сис-
темы, может означать стесненные рамки памяти; время, которое
тратится на ожидание освобождения памяти, отражено в %idle.
Колонка "idle" (процент простоя) может также обеспечить не-
которое понимание сущности работы системы. Значения, находящиеся
в этой колонке, обычно колеблются между 40 и 100 процентами, да-
- 8-20 -
же при большом числе активных пользователей. Если это значение
постоянно опускается ниже 30%, то основное соревнование за ре-
сурсы не подразумевает соревнование за память вообще; критичес-
ким ресурсом является мощность процессора. (Выполните команду
ps(C) для того, чтобы определить, что чрезмерное использование
процессора не вызвано процессом-захватчиком, который захватывает
каждый резервный цикл процессора.)
Если работает большое количество пользователей, то может
помочь переход на серийные логические платы, если Вы используете
более общие платы ввода/вывода. Логические платы берут нагрузку
процессора больше на себя, чем добавляют ему работу.
Кроме того, Вы должны просмотреть /usr/spool/crontab, чтобы
определить не стоят ли задания в очереди во время пиковой наг-
рузки, когда они могли бы выполняться при свободном процессоре.
Используйте команду ps для определения того, какой процесс силь-
но загружает систему. Поощряйте пользователя запускать большие,
не-интерактивные команды (такие как nroff(CT) или troff(CT))
только во время небольшой загрузки системы. Возможно также за-
пускать такие команды с меньшим приоритетом посредством исполь-
зования команд nice(C) или batch(C). Пример использования коман-
ды sar-u:
+---------------------------------------------------------------
| unix unix 3.2 2 386i 02/18/89
| 09:20:08 %usr %sys %wio %idle
| 09:40:12 6 7 2 86
| 10:00:03 7 9 3 80
| 10:20:07 14 16 10 61
| Average 9 11 5 76
|(среднее)
Системные таблицы: sar - v
Опция -v сообщает о статусе процесса, индексного дескрип-
тора файла, файла, записи разделенной памяти и файловых таблиц
разделенной памяти. Из этого сообщения Вы можете узнать, нужда-
ются ли в модификации системные таблицы.
proc-sz Число элементов таблицы процессов, которые в насто-
ящее время используются или распределены в ядро систе-
мы.
inod-sz Число элементов таблицы индексных дескрипторов фай-
лов, которые в настоящее время используются или рас-
пределены в ядро системы.
file-sz Число элементов таблицы файлов, которые в настоящее
время используются или распределены в ядро системы.
ov Число случаев переполнения. (Одна колонка для каж-
дого из выше перечисленных понятий).
- 8-21 -
lock-sz Число элементов таблицы разделенной памяти, которая
в настоящее время используются или распределено в ядре
системы.
fhdr-sz Больше не применяется.
Значения даны как уровень/размер таблицы. Пример
использования команды sar -v:
+---------------------------------------------------------------
| unix unix 3.2 2 386i 02/18/89
| 17:36:05 proc-sz ov inod-sz ov file-sz ov lock-sz fhdr-sz
| 17:36:35 17/40 0 39/80 0 29/80 0 0/50 0/0
| 17:37:05 19/40 0 46/80 0 35/80 0 0/50 0/0
| 17:37:35 18/40 0 43/80 0 34/80 0 0/50 0/0
Этот пример показывает, что все таблицы достаточно велики,
чтобы не иметь переполнений. Размеры можно уменьшить для того,
чтобы оставить больше памяти, если эти значения являются макси-
мальными.
Свопинг: sar -w
Опция -w предоставляет отчет о свопингах и действии перек-
лючения. Далее следует некоторые целевые значения параметров и
пояснения.
swpin/s Число перемещений в память за секунду.
bswin/s Число 512-байтовых блоковых единиц (блоков), пере-
мещаемых во время свопинга в память (включая начальную
загрузку некоторых программ) в секунду.
swpot/s Число перемещений из памяти в область свопинга на
диске в секунду. Если это число больше 1, то надо уве-
личить память или уменьшить буфера.
bswot/s Число блоков, перемещаемых в секунду при свопинге
из памяти.
pswch/s Переключения процесса в секунду. Это значение долж-
но быть от 30 до 50 при работе 4-6 пользователей систе-
мы.
- 8-22 -
Пример вывода команды sar -w:
+---------------------------------------------------------------
| unix unix 3.2 2 386i 02/18/89
| 09:20:08 swpin/s bswin/s swpot/s bswot/s pswch/s
| 09:40:12 0.0 0.0 0.0 0.0 37
| 10:00:03 0.0 0.0 0.0 0.0 39
| 10:20:07 0.0 0.0 0.0 0.0 39
| Average 0.0 0.0 0.0 0.0 38
|(среднее)
Этот пример показывает, что памяти достаточно для текущей
работы пользователей, так как свопинга нет.
Проверка работы системы по командам: timex
Команда timex хронометрирует команду и сообщает о действиях
системы, которые отмечены во время выполнения команды. Если в
это время не выполнялись другие программы, то timex поможет вы-
яснить, какие ресурсы использует данная команда во время своего
выполнения. Потребление системных ресурсов для каждой программы
приложения может быть накоплено и использовано для перенастройки
слишком перегруженных ресурсов. timex может быть использована
следующим путем:
$ timex -s <программа приложения>
Ваша программа приложения будет работать нормально. Когда
Вы завершите и выйдете из нее, то результат работы timex появит-
ся на Вашем экране. Вы можете получить ясную картину того, какие
системные ресурсы использовала Ваша программа.
- 8-23 -
________________________________________________________________
Описание настраиваемых системных параметров
Следующий раздел посвящен анализу настраиваемых системных