Получите максимальное использование ЦП для процесса

Можно ли получить максимальное использование для процесса?

Такие инструменты, как «top» и «ps», как представляется, выводят мгновенное использование ЦП. И «pidstat», кажется, делает средний …

Но все ли заметят пик?

3 Solutions collect form web for “Получите максимальное использование ЦП для процесса”

Я думаю, что нет файла, который содержит эту информацию по умолчанию.

Вы должны записать его сторонним инструментом, а затем выполнить расчет.

Например, используйте скрипт вроде:

while true; do uptime >> uptime.log; sleep 1; done 

Затем выполните некоторую обработку с помощью awk например, и получите нужные данные.

Это даст вам нагрузку в каждую минуту:

 awk '{print $1, substr($8, 1, length($8)-1)}' uptime.log 

теперь вы можете получить максимальное использование.

Возможным решением может быть использование ps как вы предложили, сценарий оболочки и расписание cron.

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

 #!/bin/bash CURRENT_VALUE=`ps -p 3445 -o %cpu | sed -n '2p'` PREVIOUS_VALUE=`sed -n '2p' max_cpu_usage_of_pid.sh.out` if (( $(echo "$PREVIOUS_VALUE $CURRENT_VALUE" | awk '{print ($1 > $2)}') )); then ps -p 3445 -o %cpu > max_cpu_usage_of_pid.sh.out fi 
  • Примечание 1: файл max_cpu_usage_of_pid.sh.out должен существовать
  • Примечание 2: у меня были некоторые трудности с сопоставлением двух десятичных чисел в сценарии bash, это было решено

PS: Я не специалист по bash-сценариям, любые улучшения или предложения приветствуются:)

Короткий ответ был бы то, что нет или, вероятно, не то, что вы ищете.

Процессы статистики процессора по большей части являются кумулятивными. Каждый раз, когда ОС решает, какие процессы запускаться с использованием планировщика, поэтому в любой заданной точке, если вы сократите ее до наименьшего значения времени, процесс использует 100% CPU. С несколькими ядрами его 1 / Nth доступных процессоров.

Единственный способ получить его – использовать более длинный размер выборки, а затем продолжить просмотр кумулятивных значений. Так действует сверху. Если счетчик пользователя jiffy был равен 100, а теперь 150, то теперь мы знаем, что за этот период времени «потреблялось» 50 «CPU». Посмотрев на счетчики системы, мы можем определить, что это такое.

Таким образом, вы можете сделать что-то вроде run top с низким временем обновления и в пакетном режиме. Это может дать вам то, что вам нужно, но я задаюсь вопросом, зачем вам это нужно, и ответит ли он на любой вопрос, который у вас есть в вашей системе.

  • Какая разница между общим использованием ЦП и использованием Процессного ЦП
  • Как интерпретируется «среднее значение нагрузки» в «верхнем» выходе? Это то же самое для всех распределений?
  • Неоправданно длительное время процесса отображается сверху
  • Как я могу получить статистику о процессорах, похожих на процессор, из командной оболочки?
  • Добавить временные метки для вывода команды «top»
  • Запросы о верхней команде
  • Поле TIME в ps -ef
  • Извлечь текст из одной итерации сверху
  • Разница между выводами top и ps
  • Процент CPU одного процесса
  • Top говорит, что используется 100% процессор, но 50% ядер простаивают?
  • верхний не работает
  • Interesting Posts

    рекурсивно синхронизировать только определенные файлы из определенных подкаталогов с удаленного сервера

    Как использовать скрипт?

    Как запустить термид с опцией –ignore-cpuid-check

    Настройка RAID на работающем сервере Ubuntu 14.04

    grep не выводит до EOF, если пропущен через cat

    Как долго «строка» остается в буфере обмена / копировании, и можно ли ее манипулировать?

    Сделать awk и получить столбцы

    Как сравнить дубликаты файлов в одном каталоге и объединить их вместе

    Как предоставить разрешения другому пользователю после регистрации в качестве пользователя root в Linux?

    Как создать скрипт, который переключает одно значение в synclient?

    Как установить режим vi _while_ уже набрав команду?

    Запуск программы как root без использования sudo с обычной учетной записью пользователя

    Как отформатировать CF-карту с помощью команды терминала?

    Откройте xfce «диспетчер окон» из командной строки

    Как изменить тему рабочего стола в CentOS?

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