1

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

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

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

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

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

1 ответ1

1

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

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

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

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

настройка htop - видимость потока

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

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


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

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

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

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

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

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

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

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