Как я могу измерить время ожидания дискового ввода-вывода для активного процессора?

441
Adama

Уже есть много инструментов для измерения% времени ожидания ЦП во время операций ввода-вывода, например dstat. Тем не менее, я ищу способ измерить время ожидания% активных ядер.

В частности, на моих серверах установлен процессор Intel i7 . Эти ЦП не активны все время, поэтому, если кто-то хочет измерить загрузку ЦП, инструменты PCM предоставляют две разные метрики: либо за номинальный цикл ЦП, либо за активный цикл ЦП.

Существует ли аналогичный способ измерения времени ожидания ввода-вывода в течение активных циклов ЦП ? У меня сильное ощущение, что мой активный ЦП является узким местом ввода-вывода, но общее время ожидания низкое (около 3% -8%). У меня 8 ядер и 2 потока / ядро, поэтому я не могу определить, является ли этот процент «большим» или нет.

0
мы говорим о настольном компьютере или сервере? В любом случае поток становится неактивным (переключение контекста), когда выполняется запрос DMA на данные из вторичного хранилища, поэтому время ожидания никогда не является частью активного процесса. Если в ОС есть другие потоки для запуска, они запускаются во время выполнения запроса, но если нет, ядро ​​неактивно, пока вы ожидаете в IRQ сообщения «DMA complete». Вас особенно интересуют глобальные агрегатные значения, представляющие приблизительную нагрузку, или вы задаете более конкретный вопрос о конкретной программе или потоке? Frank Thomas 7 лет назад 0
@FrankThomas Спасибо за ваш отзыв. В частности, речь идет о сервере. Тем не менее, я прошу конкретную программу (контейнер, запускающий приложение hadoop). У меня есть 3 контейнера, в которых выполняется одно и то же приложение, и я хотел бы проверить, не сталкиваются ли они с одновременным узким местом ввода-вывода. Adama 7 лет назад 0

0 ответов на вопрос

Похожие вопросы