Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何指定erlang将运行的内核数_Erlang_Scalability_Otp - Fatal编程技术网

如何指定erlang将运行的内核数

如何指定erlang将运行的内核数,erlang,scalability,otp,Erlang,Scalability,Otp,我想在改变内核数量的同时启动erlang 为了测试我的程序的可伸缩性。我认为在更多的内核上运行程序应该比在更少的内核上运行更快。 如何指定核心限制? 事实上,我尝试过使用smp-disable(我认为它将在一个内核上运行?不是吗?),但执行时间仍然与使用更多内核时相同。 我还尝试将+s1:1(假设1个调度程序在1个核心上运行?以及其他调度程序编号),但似乎没有任何变化 这是因为我的程序的特点,还是我在指定核心限制方面做错了什么? 如果可能的话,有人可以提供一些关于如何扩展您的Erlang程序的提

我想在改变内核数量的同时启动erlang 为了测试我的程序的可伸缩性。我认为在更多的内核上运行程序应该比在更少的内核上运行更快。 如何指定核心限制? 事实上,我尝试过使用smp-disable(我认为它将在一个内核上运行?不是吗?),但执行时间仍然与使用更多内核时相同。 我还尝试将+s1:1(假设1个调度程序在1个核心上运行?以及其他调度程序编号),但似乎没有任何变化

这是因为我的程序的特点,还是我在指定核心限制方面做错了什么? 如果可能的话,有人可以提供一些关于如何扩展您的Erlang程序的提示


非常感谢。

您的程序是否使用多核?当您使用默认(所有内核)启动Erlang时,您是否看到top/htop/Activity Monitor中的CPU利用率超过100%?您好,Dogbert,是的,我可以看到CPU利用率超过100%。实际上,我的机器总共有4个内核。然而,对于每次运行,它只会达到最大值约283%。如果
+s1:1
,它会超过100%吗<代码>+S 1:1应该限制Erlang VM仅使用1个内核,但portdrivers和NIF可以使用1个以上的内核。请参阅尝试添加
+A 0
,因为默认情况下异步线程池有10个线程。