Среди полей вывода команды «ps»% CPU не является фактическим использованием ЦП в этом процессе?

Например, одно из полей вывода этой команды стиля BSD, ps aux , является «% CPU». Альтернативная команда ps -efl выводит поле «C» (или CP).

Согласно странице ps :

  • % CPU – это процесс использования процессора в формате «##. #». В настоящее время используется время процессора, деленное на время выполнения процесса (cputime / realtime ratio), выраженное в процентах.
  • C по существу% CPU выражается как целое число

Вот как страница ps man описывает% CPU или C. Но большинство книг и веб-сайтов в Интернете просто говорят: %CPU or C is CPU usage of a process .

Можно было бы подумать, что это означает% вычислительной мощности процессора, используемой процессом, из общей доступной вычислительной мощности от ЦП. Или это только я?

(PS: Я новичок)

One Solution collect form web for “Среди полей вывода команды «ps»% CPU не является фактическим использованием ЦП в этом процессе?”

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

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

Обычный процесс обычно тратит некоторое время на процессор, а затем заканчивается ожиданием события (например, данные, поступающие в сетевое соединение, завершение ввода-вывода диска, блокировка становится доступной, CPU становится доступным снова для запускаемого процесса после того, как он израсходовал свой квант времени).

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

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

Обратите внимание, что при простом соотношении времени процессорного времени процесса и времени, прошедшего с момента его запуска, в конечном итоге отображается среднее потребление ЦП процесса. Поскольку некоторые процессы изменяют поведение во время выполнения (например, сервер базы данных, ожидающий запросов, к тому же серверу базы данных, выполняющему ряд сложных запросов), часто более интересно знать самое последнее использование ЦП. По этой причине некоторые системы (например, FreeBSD, Mac OS X) используют разлагающееся среднее значение по этой странице :

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

Linux имеет упрощенный учет, который дает вам использование ЦП в соответствии с этой man-страницей :

В настоящее время использование ЦП выражается в процентах от времени, затраченного на выполнение в течение всего жизненного цикла процесса. Это не идеально, и оно не соответствует стандартам, которые ps в противном случае соответствует. Использование процессора вряд ли составит до 100%.

  • Вывести как ps, так и Date в одной строке, в файл?
  • Как начать (или найти) процесс с RUID, отличным от EUID?
  • Где найти исходный код для ps?
  • Команда Grep с использованием содержимого heredoc
  • Как проверить, остановлен ли процесс из командной строки?
  • Как получить начальное время для несуществующего процесса в AIX?
  • Что указывает этот STAT-процесс?
  • Отсутствие пробела в выводе `ps` около EOL
  • Как определить, какая среда рабочего стола установлена ​​из оболочки?
  • Есть ли риск состояния гонки при запуске ps?
  • Как я могу привязать strace к процессу, который не находится в выходе ps?
  • Как указать, какие имена полей отображаются в списках?
  • Interesting Posts

    Рыбная оболочка медленно реагирует, когда команда не существует

    NetBSD предоставляет цифровые подписи для официальных образов ISO и бинарных пакетов?

    Поддерживается ли Уби?

    Почему директивы #include и #includeir в sudo префиксны с символом фунта (#)

    Wi-Fi с аутентификацией WPA2-EAP MS-CHAPv2 (имя пользователя и пароль) во время установки Debian

    Команда scp ведет себя по-разному при использовании с функцией expect

    telnet-доступ к веб-сайту с аутентификацией

    Как установить Gnome Schedule в Cent Os 7

    Как узнать, есть ли подходящие символы в строке?

    Вычисление общего трафика, генерируемого приложением в сети

    Нет звука на обнаруженных наушниках (арка)

    Невозможно перекрестно скомпилировать openSSH для руки, zlib отсутствует

    Эффективность большого количества часов inotify или stat

    Лицензия GNOME не принимается при перезагрузке системы

    Перезагрузите гайку-драйвер, когда данные устарели, устройство USB продолжает меняться

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