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

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

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

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

  • Что может послужить причиной перехода в безопасное состояние спящего режима для этого конкретного процесса?
  • htop процессорное время против верхнего процессорного времени
  • Верхний вид леса с фильтром, могу ли я включить всех детей?
  • Почему диапазон нагрузки не равен 0-1 + для всех процессоров вместе?
  • В Linux «топ» команда: какие мы, sy, ni, id, wa, hi, si и st (для использования ЦП)?
  • Предупреждение при завершении процесса
  • Почему `htop` показывает больше процессов, чем` ps`
  • Как я могу перенаправить вывод в файл, когда программа построена с помощью библиотеки ncurses
  • 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 с низким временем обновления и в пакетном режиме. Это может дать вам то, что вам нужно, но я задаюсь вопросом, зачем вам это нужно, и ответит ли он на любой вопрос, который у вас есть в вашей системе.

    Interesting Posts

    Не удается загрузить Linux Mint или Ubuntu

    Найти файлы gif / jpeg с расширением png и преобразовать в png

    Создание символической ссылки внутри profile.d не работает. Обходной путь?

    Настройка setuid VS, предоставляющая разрешения на выполнение

    Нужен ли мне набор ulimit для системных служб, таких как nginx.service (systemd) / nginx (sysv)?

    GRML не загружается автоматически

    Веб-камера Centos, быстрое приложение для моментального снимка?

    Почему PIPESTATUS не работает на конвейерах в рамках подстановки команды

    Как скопировать или прочитать возвращаемое значение (статус выхода) из AWK-скрипта в сценарий оболочки (bash), который будет использоваться в выражении if для сравнения

    Перезагрузитесь, если сетевое подключение не работает!

    Цепная труба | с &&

    ЛУКС-кодовая фраза не работает

    Недопустимый аргумент при запуске службы Cloud9 при запуске

    Расположение, запуск и мониторинг сервера

    Почему моя среда полна ␀s?

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