9

У меня проблемы с пониманием информации, отображаемой htop популярной заменой топ-команды Linux.

дамп экрана htop

На приведенном выше снимке экрана показано много экземпляров Java, но только родительский использует процессорное время. Какие другие?

Почему полосы загрузки ЦП показывают такие занятые ядра, когда столбец ЦП% показывает, что не все происходит во всех процессах? На самом деле, они движутся без корреляции большую часть времени.

Почему средняя нагрузка в правом верхнем углу, которая, как я полагаю, является трехступенчатой историей, настолько мала, когда ядра почти всегда зеленые и выглядят занятыми?

Будет ли кто-то так любезно объяснить, как читать эту информацию?

Спасибо!

1 ответ1

5
  1. Относительно "Load" и CPU%, в Википедии есть подробное объяснение и пример, ниже приводится частичная цитата

    Свободный компьютер имеет номер загрузки 0, и каждый процесс, использующий или ожидающий ЦП (очередь готовности или очередь выполнения), увеличивает номер загрузки на 1. Большинство систем UNIX учитывают только процессы в состоянии "запущено" (на ЦП) или "работоспособно" (ожидает ЦП). Однако Linux также включает процессы в непрерывном спящем состоянии (обычно в ожидании активности диска), что может привести к заметно отличающимся результатам, если многие процессы остаются заблокированными в операциях ввода-вывода из-за загруженности или зависания системы ввода-вывода. Это, например, включает в себя блокировку процессов из-за сбоя сервера NFS или из-за медленного носителя (например, устройства хранения USB 1.x). Такие обстоятельства могут привести к повышению средней нагрузки, что не отражает фактического увеличения загрузки ЦП (но все же дает представление о том, как долго пользователям приходится ждать).

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

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

    Бары могут быть заняты движением, но они никогда не достигают 100%, что указывает на то, что процессор / ядро полностью используется. Столбец представляет собой только визуализацию% загрузки процессора, которая составляет 27%, 26,5%, 24,5%, 24,7% и 71,7%. Все ядра ЦП по-прежнему имеют возможность "сэкономить". На данный момент все они используются недостаточно.

    Полностью используемая система с 5 ядрами / процессорами будет иметь нагрузку 5 или выше.

  2. Что касается строк Java, они являются родительскими (PID = 5073) и дочерними процессами. Я не могу объяснить, почему родители накапливают больше всего времени процессора. Это действительно зависит от внутренней логики программы. Однако, согласно TIME+, эти дочерние процессы потребляют процессорное время, при этом последний из них (PID = 5074) накапливается больше всего.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .