Что я вижу в htop на Linux?

648
AdamJeffers

Не уверен, что это правильное место для этого вопроса, но я все равно спрошу его и посмотрю, где он приземлится!

У меня запущен процесс узла в Centos, и когда я запускаю htop, я вижу целую кучу процессов, которые выглядят взаимосвязанными, но я не знаю как, и я надеюсь, что кто-то может мне это объяснить: - /

Посмотрите на этот снимок экрана ....

enter image description here

У меня работает только один процесс "realtime-event-manager", но я вижу несколько. Я понимаю, что это представление подстилающей многопоточности, что происходит, но то, что я не понимаю, почему это CPU, MEMи RESзначение все равны? Что я на самом деле вижу здесь?

Кроме того, обратите внимание на полоски загрузки процессора вверху. Я часто вижу их всплеск на 90-100%, но без заметного замедления ... это истинное представление или это просто сумма предметов, перечисленных в htop?

1
Для ясности, не могли бы вы включить колонку `PPID` и обновить картинку? Attie 6 лет назад 0
См [этот ответ] (https://unix.stackexchange.com/a/10403/108618). Kamil Maciorowski 6 лет назад 0
@ Атти ... конечно, дай мне 10 минут только на встрече! AdamJeffers 6 лет назад 1

1 ответ на вопрос

1
Attie

У меня работает только один процесс "realtime-event-manager", но я вижу несколько.

В Linux потоки реализованы в виде LWP - облегченных процессов, что означает, что идентификаторы потоков и идентификаторы процессов фактически выделяются из одного и того же пула. См. Этот ответ для хорошей информации: Разница между PID и TID .

Вы можете переключать вложенный / древовидный вид нажатием F5.

Кроме того, вы можете показать / скрыть темы пользовательского пространства, нажав Shift+ Hили через меню настройки -F2

htop setup - thread visibility

Также полезно включить опцию « Показывать имена пользовательских потоков ».

Эти " процессы ", которые вы видите, вероятно, на самом деле являются " потоками " - это было бы более понятно в древовидном представлении или с включенной опцией " Отображать потоки в другом цвете ".


шкалы загрузки процессора вверху. Я часто вижу их всплеск на 90-100%, но без заметного замедления

В мире * nix 100% означает « 100% одного ядра » ... это не означает « 100% всего доступного времени обработки », как в Windows.

Кроме того, « нет заметного замедления » - очень интересный и субъективный момент.

В зависимости от ядра прерываний, планировщика и приоритетов системы можно отстроить и оптимизирована для:

  • « realtime » - попытка планирования « soft realtime » ... (Примечание: Linux не ядро ​​реального времени)
  • « Интерактивный » - будет с большей готовностью вытеснять (прерывать) процессы, чтобы создать видимость более отзывчивой системы.
  • « Пакет » - удерживает прерывание в попытке более эффективно выполнить большую работу за счет того, что заставляет пользователя ждать.

В настоящее время большинство пользовательских систем оптимизируют интерактивное планирование, как и все больше серверов.

Кроме того, я заметил, что « большие » / « лучшие » процессоры (например, i7 / Xeon) предлагают гораздо лучшую отзывчивость при высокой нагрузке, чем « меньшие » процессоры (например, Atom / i3) ... Я не могу полностью объяснить это, но это может быть связано с количеством потоков, размером кэша и т. д.

Пока вы находитесь на экране настроек, я бы также выбрал «Показывать имена пользовательских потоков», тогда листинг становится действительно полезным. (Потоки можно переключать с помощью Shift + H.) grawity 6 лет назад 1
Спасибо за подробный ответ! Действительно помог. Нажатие «F5» пролило некоторый свет на ситуацию. Любая идея, почему каждый дочерний поток показывает, что использует то же количество `Mem` и` CPU`%, что и родительский процесс? Это не может быть правильным, конечно? AdamJeffers 6 лет назад 0
Потоки сгруппированы в родительский процесс, и все они используют одно и то же адресное пространство. Таким образом, использование памяти одинаково для всех потоков процесса. Использование процессора правильно сообщается для каждого потока (в вашем примере 15838 использует 47,8%, в то время как другие используют 0%) Attie 6 лет назад 1

Похожие вопросы