Менеджер процессов PM2 для Node в нескольких ядрах - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть простое приложение Node без состояния, которое я хочу создать на многоядерном (multi-vCPU AWS instance) сервере, и я понимаю, как работает режим кластеризации PM2, чтобы устранить необходимость использования модуля Cluster в код приложения.

У меня есть двухъядерный AWS t2.medium EC2 экземпляр, PM2, я считаю, настроен правильно, и при запуске он вызывает два процесса для приложения с различными идентификаторами PM2 и PID.

PM2 запускает приложение следующим образом:

pm2 start [app_name] -i max

PM2 перечисляет два процесса с разными идентификаторами PM2 и разными идентификаторами PID, как и ожидалось.

Однако ...

ps -U [username] -au

... предполагает, что оба процесса работают на одном и том же ядре.

Я что-то упустил? (Возможно!)

Заранее спасибо всем, кто может пролить свет на это.

1 Ответ

0 голосов
/ 15 февраля 2020

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

...