我正在部署使用rebar3构建的erlang上编写的应用程序。当我运行它时,它正在使用CPU的单核。我应该怎么做才能使用所有内核? 感谢
答案 0 :(得分:2)
您没有提供任何有意义且相关的信息来回答。
答案 1 :(得分:1)
根据this question和the Erlang reference manual的答案,使用-smp enabled
启动运行时将导致运行时创建多个OS调度程序,以将任务分派给不同的CPU。您可以在运行erl
运行时并查看[smp:8:8]
时验证这一点(这意味着我正在运行8个调度程序)。
但是,通常Erlang会为您管理这个问题,方法是为您机器上的每个核心创建一个OS线程(调度程序),可以均匀地分配任务。
您可能想要研究的另一件事是,如果您的代码是以并发方式编写的,或者大多数是按顺序运行的,那么无论如何只需要一个核心。