我正在具有 2 个四核 Xeon E5520 2.2GHz、24.0GB RAM 和 Erlang R15B02(启用 SMP)的节点上运行实验。我想知道是否可以限制Erlang VM使用的核心数量,以便我可以暂时禁用一些核心并逐步增加数量以测试可扩展性。
我没有root
访问该节点。所以我期待一些方法,要么通过指定参数erl
或者通过 Erlang 代码。
你可以通过以下方式限制 Erlang 使用的核心数量+S
选项erl
,它允许您设置 Erlang 创建的调度程序内核线程的数量。请参阅erl 手册页 http://erlang.org/doc/man/erl.html更多细节。
请注意,Erlang链接端口驱动程序 http://www.erlang.org/doc/tutorial/c_portdriver.html and 本机实现的函数 http://www.erlang.org/doc/tutorial/nif.html(NIF) 都可以创建自己的线程,从而影响 Erlang 进程独立于通过指定的线程使用多少个内核+S
选项,尽管标准驱动程序或 NIF 都没有这样做。还有+A
选项erl
创建一个异步线程池供驱动程序使用,这也可能影响所使用的核心数量,默认情况下,异步线程池有 10 个线程(在 Erlang/OTP 版本 R16B 之前默认为空)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)