Приложение Erlang, созданное с использованием rebar3, использует одно ядро - PullRequest
0 голосов
/ 21 мая 2018

Я развертываю приложение, написанное на Erlang, созданное с использованием rebar3.Когда я запускаю его, он использует одно ядро ​​процессора.Что я должен сделать, чтобы он использовал все ядра?Спасибо

Ответы [ 2 ]

0 голосов
/ 22 мая 2018
  1. Поскольку вся работа выполняется в одном процессе?
  2. Поскольку работа в процессах блокируется, поэтому каждый раз может работать только один процесс?
  3. Поскольку он плохо настроен?

Вы не предоставили значимой и актуальной информации для ответа.

0 голосов
/ 21 мая 2018

Согласно ответам на этот вопрос и Справочное руководство Erlang , запуск среды выполнения с -smp enabled приведет к тому, что среда выполнения создаст несколько планировщиков ОС для отправки задач на разные ЦП,Вы можете убедиться в этом, когда вы запустите erl runtime и посмотрите на [smp:8:8] (это означает, что я бегу с 8 планировщиками).

Однако обычно Erlang управляет этим вам под капотом, создавая ОСпоток (планировщик) для каждого ядра на вашей машине, задачи которого можно распределять равномерно.

Еще одна вещь, на которую вы можете обратить внимание, это если ваш код написан параллельно или, в основном, выполняется последовательно, в этом случаев любом случае требуется только одно ядро.

...