我可以在具有四核或更多内核的单核erlang程序的计算机上进行测试吗?
在不使用任何参数的情况下启动时,erlang smp假定为2:2,如下所示:
Erlang R14A (erts-5.8) [smp: 2:2] [rq: 2] [async-threads: 0]
我使用的是Pentium 4,这是否意味着我有两个内核?
答案 0 :(得分:4)
默认情况下,每个可用核心启动一个调度程序,并使用多个运行队列(每个调度程序一个;自R13起可用)。在你的shell中[smp 2:2]
意味着你有两个调度程序在两个核心上运行; [rq: 2]
表示您正在使用两个运行队列。
如果要更改调度程序的数量,请从erl +S 4
开始,例如四个调度程序。
确保如果在单核系统上编译erlang,则使用--enable-smp-support
在configure脚本中启用smp。否则,您可能无法使用多个调度程序。