【发布时间】:2010-11-08 13:55:49
【问题描述】:
我可以在具有四个或更多内核的单核 erlang 程序的计算机上进行测试吗?
在不使用任何参数的情况下启动时,erlang smp 假定为 2:2,如下所示:
Erlang R14A (erts-5.8) [smp: 2:2] [rq: 2] [async-threads: 0]
我使用的是 Pentium 4,这是否意味着我有两个内核?
【问题讨论】:
我可以在具有四个或更多内核的单核 erlang 程序的计算机上进行测试吗?
在不使用任何参数的情况下启动时,erlang smp 假定为 2:2,如下所示:
Erlang R14A (erts-5.8) [smp: 2:2] [rq: 2] [async-threads: 0]
我使用的是 Pentium 4,这是否意味着我有两个内核?
【问题讨论】:
默认情况下,每个可用内核启动一个调度程序,并使用多个运行队列(每个调度程序一个;自 R13 起可用)。在你的 shell 中[smp 2:2] 意味着你有两个调度程序在两个内核上运行; [rq: 2] 表示您正在使用两个运行队列。
如果您想更改调度器的数量,例如四个调度器以erl +S 4 开头。
确保如果您在单核系统上编译 erlang,请使用 --enable-smp-support 在配置脚本中启用 smp。否则您可能无法使用多个调度程序。
【讨论】: