2016-03-14 4 views
2

Запустив паруса с вечно или позвонив напрямую с node app.js --prod, согласно htop У меня есть 4 дочерних процесса, которые похожи на клоны под ним.sails.js несколько дочерних процессов, что это такое? Ubuntu

enter image description here

Если я оставить вне --prod аргумента, я получить равное количество хрюкать процессы. Как видите, все они имеют одинаковый объем памяти, разные PID и различные показания TIME +.

Я уверен, что это не автоматическая кластеризация, или не так ли? Это одноядерная машина (виртуальная), поэтому я понятия не имею, что это за процессы, или это ошибка в htop?

В соответствии с этим вопросом htop-showing-multiple-java-processes-with-different-pids?rq=1

HTOP показывает темы, как другой процесс, но не узел однопоточными? Если это потоки, из которых они происходят?

ответ

1

Нити, которые вы видите с помощью htop, - это потоки пользовательской нити (пользовательский поток), но когда вы запускаете приложение в режиме кластера (скажем, 4 экземпляра), он создает поток ядра. more on user threads

при скрытии пользовательского уровня темы, то все, что вы видите ядро ​​thread.while работает приложение в режиме кластера вы будете создавать несколько потоков ядра в application.And для потока ядра каждого приложения есть несколько нитей пользовательских уровня, связанные с ним.

(для Htop можно скрыть с помощью резьбы уровня пользователя F2 и параметры отображения)

смотрите скриншоты для пояснения.

four instances of my app in cluster mode since number of cores==4 enter image description here

ps commands showing kernel threads only

htop showing kernel threads only enter image description here

htop showing kernel threads along with userland threads enter image description here

На последнем снимке экрана вы видите несколько потоков ядра и пользователя, но их больше. Я имею в виду, что для каждого потока ядра есть связанный с ним поток пользователя.

+0

Точно так же эти пользовательские потоки пула потоков node.js (я знаю, что цикл событий узла однопоточный, но ему нужны потоки за кулисами для всего остального)? или те, которые создаются каркасом? –

+1

yeah ... те нить, которые использует приложение узла, чтобы mainatain это eventloop и все остальное ... по умолчанию у каждого приложения есть свои собственные несколько нитей userland. Они созданы и контролируются только приложением. – vkstack

+0

О, я вижу, спасибо –