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

В современные серверы, как правило, устанавливают не по одному многоядерному процессору. И в условиях "среднего" предприятия увидеть загрузку процессоров компьютера, близкую к 100%, маловероятно. При этом именно процессор может быть узким местом.

Связано это с тем, что показатель производительности подсчитывается усредненно по всем процессорам, а многие расчеты в приложениях не могут быть распараллелены: сначала нужно вычислить одну величину, потом она будет использована в других расчетах и т. д. Поэтому если какой-либо прикладной процесс (например, процесс сервера базы данных) выполняется в одну нить, то соответствующая загрузка процессора будет показываться как 100%/(число процессоров) и распределится (в программе Производительность) между всеми ядрами/процессорами.

Поэтому более информативным будет анализ непроизводительных расходов процессора. В случае Windows-систем это будет счетчик Processor\% Privileged Time, для Linux-компьютеров нужно оценивать время, затрачиваемое процессором на системные операции и ожидание готовности других устройств. На рис. 11.16 приведен листинг утилиты iostat. В строке avg-cpu показаны характеристики загрузки процессора: параметр %system отображает загрузку системными операциями, %iowait - время, затрачиваемое на ожидание завершения операций ввода-вывода на диски.

Листинг утилиты iostat

Рис. 11.16. Листинг утилиты iostat

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

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

System\Processor Queue Length (all instances).

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

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

Большая длина очереди может быть обусловлена не только большим количеством одновременно выполняющихся заданий, но и неисправностью какого-либо устройства, например, сетевого адаптера, генерирующего большое количество прерываний в единицу времени. Для локализации этой причины следует провести анализ параметра Processor\Interrupts/sec (см. далее).

Processor\Interrupts/sec.

Счетчик показывает количество запросов к процессору на обработку. Максимальное число прерываний, которое может обработать процессор, зависит от его типа. Для разных процессоров эта величина колеблется от 500 до 2000 прерываний в секунду.

Поскольку высокое значение данного счетчика может быть следствием неисправности оборудования, следует выяснить, что является источником повышенного количества запросов в единицу времени. Для этого можно задействовать счетчики объекта Thread, например %Processor Time. Эти счетчики отображают в том числе состояние каждого потока, который запускается отдельным процессом. Переключив отображение монитора системы на гистограмму, вы можете увидеть процесс, который монополизирует ресурсы компьютера.

Примечание Бездействие компьютера также относится к процессу. Поэтому для удобства не следует включать отображение этого параметра на графике.

Основные узкие места системы | Самоучитель системного администратора | Оценка использования оперативной памяти


Самоучитель системного администратора



Новости за месяц

  • Август
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31