如果我在Linux或Mac上运行R,我可以使用multicore:::detectCores()
检测可用内核的数量。但是,没有多核功能的Windows版本,所以我不能在Windows上使用这种技术。
如何从R?
中以编程方式检测Windows机器上的核心数量答案 0 :(得分:22)
并行程序包现在具有检测核心数量的功能:parallel:::detectCores()
。
答案 1 :(得分:13)
答案 2 :(得分:3)
如果您确实需要区分实际核心,芯片和逻辑处理器,则要调用的API为GetLogicalProcessInformation
GetSystemInfo如果只是想知道一台机器上有多少逻辑处理器(没有区分超线程的话。)。
你如何用“R”来称呼它是超出我的。但我猜R有一个从本机Windows DLL调用代码的工具。
答案 3 :(得分:0)
GetSystemInfo将为您提供一个具有“处理器”数量的结构,该结构对应于核心总数。
理论上,它将与另一个答案中推荐的环境变量具有相同的值,但用户可以篡改(或删除)环境变量。根据您的意图,这可能是错误或功能。