确定Erlang进程的核心

确定Erlang进程的核心,erlang,Erlang,有没有办法确定Erlang进程计划在哪个特定的核心上 假设您生成了一组进程,只需打印出进程运行的核心,然后退出。有办法吗 我花了一些时间阅读文档和谷歌搜索,但什么也找不到 谢谢 编辑:“核心”=CPU核心编号(如果不是编号,则为另一个标识CPU核心的标识符)。在大多数情况下,该标识符映射到逻辑核心。但是这些信息非常短暂,因为进程可能会在任何其他调度器上暂停和恢复 您真正需要此类信息的用例是什么?不,没有。如果您生成了2000个进程,并且它们很快终止,那么您很可能会在重新平衡发生之前完成任务。在这

有没有办法确定Erlang进程计划在哪个特定的核心上

假设您生成了一组进程,只需打印出进程运行的核心,然后退出。有办法吗

我花了一些时间阅读文档和谷歌搜索,但什么也找不到

谢谢

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

在大多数情况下,该标识符映射到逻辑核心。但是这些信息非常短暂,因为进程可能会在任何其他调度器上暂停和恢复


您真正需要此类信息的用例是什么?

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


但是,您可以查看调度程序利用率调用,请参见
erlang:statistics(调度程序\u wall\u time)
。它将告诉您每个调度器实际做了多少工作。

当您说“核心”时,您指的是什么?CPU核心号?还是Erlang节点名?找到了吗?我指的是CPU核心号或其他标识符。在Erlang环境中,
node()
返回的节点名是一个很好的标识符。@Greg Hewgill,我想知道进程调度的特定CPU核心。node()不会给我这个。当前的CPU核心不是常数,进程可以随时从一个CPU核心转移到另一个CPU核心。这只是正常的操作系统调度行为,用例并没有什么意义。我只是想看看调度器是否真的在跨内核调度进程,我想看看进程的分布,我想看到它实时发生。你的建议似乎奏效了,所以如果没有更好的答案,我会接受你的建议。