gpt4 book ai didi

delphi - 如何获得正确的逻辑处理器数量

转载 作者:行者123 更新时间:2023-12-03 15:19:04 27 4
gpt4 key购买 nike

在Delphi中,我们需要知道并行化的CPU数量。到目前为止,我们已经使用了 GetNativeSystemInfo()功能,运行良好,也适用于具有超线程的服务器。

但是现在,我们的服务器(Intel Xeon Gold 6230)具有 40 个物理处理器和 80 个带超线程的逻辑处理器,而 GetNativeSystemInfo() 仅显示 40 个 CPU。

我们制作了一个使用 3 次调用的小型测试程序:

  1. GetNativeSystemInfo()

  2. GetLogicalProcessorInformation()(代码来自How to detect number of logical and physical processors efficiently?)

  3. 查看注册表中的 CPU 数量:

    计算机\HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor

对于我们所有的服务器,这 3 个调用提供相同数量的 CPU:

image

但是对于 Intel Xeon,只有注册表为我们提供了 80 个 CPU:

image

有人知道为什么它不适用于 Intel 服务器,或者知道一种方法来确保获得最大 CPU 数量吗?

最佳答案

GetLogicalProcessorInformation文档我找到了这部分:

On systems with more than 64 logical processors, the GetLogicalProcessorInformation function retrieves logical processor information about processors in the processor group to which the calling thread is currently assigned. Use the GetLogicalProcessorInformationEx function to retrieve information about processors in all processor groups on the system.

所以尝试使用 GetLogicalProcessorInformationEx .

关于delphi - 如何获得正确的逻辑处理器数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57390811/

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