Как определить наибольшее использование процессора в процессе его жизни

Я написал несколько тестов с несколькими потоками, и теперь я хочу быть уверенным, что самое высокое использование этого теста в CPU равно 100 * CPU_NUMBER текущего компьютера. Можно ли это сделать?

UPD 0: Я говорю о системе Linux.

2 Solutions collect form web for “Как определить наибольшее использование процессора в процессе его жизни”

Я думаю, что вы ищете sar . SAR означает отчет о системной активации. Он используется в unix-подобных операционных системах, чтобы сообщать о потреблении процессора, памяти и ввода-вывода, собранных sysstat .

Затем sysatat можно настроить для мониторинга отдельных процессов. Ссылка

Как часто он собирает, и как долго sar ведет отчеты, определяется первая настройка.

Вы просто хотите отметить, что такой сбор данных не является «бесплатным», поэтому я не буду его хранить на производственных серверах.

После его настройки вам будет легко извлекать данные из отчетов в вашем скрипте с помощью команды sar , grep и awk .

Вы не указали, на какой ОС вы работаете, поэтому я рекомендую вам найти, как настроить sar / sysstat в своем дистрибутиве.

pidstat который обычно входит в пакет sysstat , может отслеживать один идентификатор процесса и печатать статистику по каждому из своих потоков. Например, для работающего браузера Chrome:

 $ pidstat -t -p 27680 1 17:17:36 TGID TID %usr %system %guest %CPU CPU Command 17:17:37 27680 - 13.00 3.00 0.00 16.00 0 chrome 17:17:37 - 27680 9.00 1.00 0.00 10.00 0 |__chrome 17:17:37 - 27712 2.00 1.00 0.00 3.00 1 |__Chrome_IOThread 17:17:37 - 27714 2.00 0.00 0.00 2.00 1 |__CompositorTileW 

Этот 1-секундный образец имеет много потоков с 0% CPU, которые я удалил. Я понимаю, что 100% означает, что всего 1 процессор полностью занят. Существует флаг -I чтобы разделить его на число процессоров.

  • Понимание времени процессора, затраченного на процесс в пространстве пользователя / ядра
  • Безопасно ли отключать частотное масштабирование и поддержку управления питанием в режиме ожидания в режиме реального времени?
  • Получить использование ЦП для единого процесса
  • Восстановить исходный файл из файлов diff для сохранения дискового пространства.
  • Как я могу получить статистику о процессорах, похожих на процессор, из командной оболочки?
  • Почему загрузка процессора PowerPM LPAR отрицательна
  • Как рассчитать память, потребляемую программой «C» в Linux
  • Каково правильное значение для максимального количества CPU для sched_setaffinity?
  • как получить процессор, которому в настоящее время назначен поток?
  • Завершение работы, похоже, заморозит мой процессор на dell latitude e7470 под аркой linux
  • Большее количество контекстных переключателей для kondemand
  • Interesting Posts

    анализировать вывод команды только для отображения строк на основе диапазона данных из определенного столбца

    Как восстановить правильное владение в контейнерах nspawn после обновления?

    Запуск программы автоматически?

    Не удалось выполнить настройку VConsole: виртуальная консоль / dev / tty0 не находится в K_XLATE или K_UNICODE

    Не удалось загрузить Chromium OS с USB-накопителя

    Как я могу получить установку ESXi для загрузки PXE с использованием UEFI?

    Установка GPG вместе с запущенным: сконфигурировать проблему?

    Одиночная запись файла, разбитого на несколько строк

    Перемещение или копирование файлов определенного типа из подкаталогов с таким же именем

    Разделить файлы на основе поиска шаблонов. Разделить имя файла с помощью шаблона, который мы искали

    Deja-Dup с шифрованием: отключить Keyring

    Debian, Apache, mod_userdir, suexec, php-cgi

    Ethernet-адаптер застрял на скорости 10 Мбит / с

    Найдите архив и извлеките его в каталог, где он находится

    Восстановление раздела Windows в Mint (сбой тестового диска)

    Linux и Unix - лучшая ОС в мире.