gpt4 book ai didi

linux - Erlang NUMA技术配置

转载 作者:行者123 更新时间:2023-12-03 10:01:22 24 4
gpt4 key购买 nike

我试图在openstack vm上运行erlang应用程序,并获得非常差的性能,测试后我发现NUMA发生了一些问题,这是我在测试中观察到的。

我的32位内核的openstack计算主机,因此在此VM上运行Erlang应用基准测试时,我在其上创建了30个具有所有NUMA意识的vCPU内核vm,以获得最差的性能,但随后我创建了具有16 vCPU内核的新VM我的所有VM cpu都固定了Numa-0节点),在这种情况下,基准测试结果很棒。

根据上面的测试,如果我将VM保留在单个numa节点上,则可以清楚地看出性能要好得多,但是当我将其扩展到多个numa区域时,性能会变得更差。

但是有趣的是,当我在裸机上运行相同的erlang应用程序时,性能确实非常好,因此试图了解为什么在VM上运行的同一应用程序不能很好地运行?

在虚拟机上运行时,erlang中是否有任何设置可以更好地适合NUMA?

最佳答案

Erlang可能无法正确检测虚拟机的cpu拓 flutter 。

您可以使用hwloc软件包中的lscpulstopo-no-graphics检查VM看到的cpu拓 flutter :

#lscpu | egrep '^(CPU\(s\)|Thread|Core|Socket|NUMA)'
#lstopo-no-graphics --no-io

如果看起来不正确,请考虑使用 https://specs.openstack.org/openstack/nova-specs/specs/juno/implemented/virt-driver-vcpu-topology.html中所述的OpenStack选项(如 hw:cpu_treads=2 hw:cpu_sockets=2)重建VM。

在Erlang端,您可以尝试使用Erlang VM选项 +sct+sbt,如 http://erlang.org/doc/man/erl.html#+sbt中所述

关于linux - Erlang NUMA技术配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60106482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com