使用 msconfig 限制核心数
Limiting number of Cores using msconfig
我想使用应用程序或驱动程序关闭核心机(PC)。
- 我试过使用 msconfig ,用户可以限制他想要启用的核心数。
- 选择选项时msconfig-> boot->高级选项 - >处理器数,下拉列表。
但每个处理器(Intel、AMD、..等)都有不同的硬件架构。仍然使用 msconfig ,用户可以限制核心数。
- 想知道 msconfig 如何处理此功能?
- 该工具是否正在写入任何 CPU 寄存器?
- 或任何 Windows API 做同样的事情?
请分享您的想法。
Windows 使用 HAL
(硬件抽象层),它允许其所有组件以相同的方式与不同的硬件一起工作。具体细节由硬件设备驱动程序处理。
CPU 处理器在执行代码时使用寄存器。寄存器有很多种,它们都在处理器开发规范中描述。虽然 msconfig 当然使用 CPU 寄存器,但它只是一个配置工具。您还应该了解,每个进程都有自己的寄存器状态结构,称为 CONTEXT
,因此不清楚您到底要实现什么。
msconfig
只是保存了一个配置信息,供Windows内核使用,所以可以在初始化时限制CPUcores/memory。您可以使用 API 函数 SetProcessAffinityMask
.
限制所选进程的可用处理器
我想使用应用程序或驱动程序关闭核心机(PC)。
- 我试过使用 msconfig ,用户可以限制他想要启用的核心数。
- 选择选项时msconfig-> boot->高级选项 - >处理器数,下拉列表。
但每个处理器(Intel、AMD、..等)都有不同的硬件架构。仍然使用 msconfig ,用户可以限制核心数。
- 想知道 msconfig 如何处理此功能?
- 该工具是否正在写入任何 CPU 寄存器?
- 或任何 Windows API 做同样的事情?
请分享您的想法。
Windows 使用
HAL
(硬件抽象层),它允许其所有组件以相同的方式与不同的硬件一起工作。具体细节由硬件设备驱动程序处理。CPU 处理器在执行代码时使用寄存器。寄存器有很多种,它们都在处理器开发规范中描述。虽然 msconfig 当然使用 CPU 寄存器,但它只是一个配置工具。您还应该了解,每个进程都有自己的寄存器状态结构,称为
CONTEXT
,因此不清楚您到底要实现什么。msconfig
只是保存了一个配置信息,供Windows内核使用,所以可以在初始化时限制CPUcores/memory。您可以使用 API 函数SetProcessAffinityMask
. 限制所选进程的可用处理器