确定Erlang流程的核心

时间:2013-12-10 02:35:33

标签: erlang

是否有任何方法可以识别Erlang进程的特定核心?

假设您生成了一堆进程来简单地打印出进程正在运行的核心,然后退出。有什么办法吗?

我花了一些时间阅读文档和谷歌搜索,但找不到任何东西。

感谢。

编辑:“核心”= CPU核心编号(如果不是编号,则标识CPU核心的另一个标识符)。

2 个答案:

答案 0 :(得分:3)

在大多数情况下,erlang:system_info(scheduler_id)会被绑定到逻辑核心。但是这些信息非常短暂,因为该过程可能会暂停并在任何其他调度程序上恢复。

您确实需要这种信息的用例是什么?

答案 1 :(得分:2)

不,没有。如果您生成2000个进程并且它们很快终止,那么您可能会在重新平衡发生之前完成工作。在这种情况下,您将只有一个核心一直运行。

您可以查看调度程序利用率调用,但请参阅erlang:statistics(scheduler_wall_time)。它会告诉你每个调度程序的实际工作量。