Windows 使用msconfig限制核心数

Windows 使用msconfig限制核心数,windows,winapi,cpu,core,processor,Windows,Winapi,Cpu,Core,Processor,我想使用应用程序或驱动程序关闭核心机(PC) 我已尝试使用msconfig,用户可以限制希望启用的核心数量 选择选项msconfig->Boot->Advanced option->Number of processor时,下拉列表 但每个处理器(英特尔、AMD等)都有不同的硬件架构。仍然使用msconfig,用户可以限制内核的数量 想知道msconfig是如何处理此功能的吗 该工具是否写入任何CPU寄存器 或者任何Windows API也可以这样做 请分享你的想法 Windows使用HA

我想使用应用程序或驱动程序关闭核心机(PC)

  • 我已尝试使用msconfig,用户可以限制希望启用的核心数量
  • 选择选项msconfig->Boot->Advanced option->Number of processor时,下拉列表
  • 但每个处理器(英特尔、AMD等)都有不同的硬件架构。仍然使用msconfig,用户可以限制内核的数量

  • 想知道msconfig是如何处理此功能的吗
  • 该工具是否写入任何CPU寄存器
  • 或者任何Windows API也可以这样做
请分享你的想法

  • Windows使用
    HAL
    (硬件抽象层),它允许其所有组件以相同的方式使用不同的硬件。具体由硬件设备驱动程序处理

  • 处理器在执行代码时使用CPU寄存器。有许多种寄存器,它们都在处理器开发人员规范中描述。msconfig当然使用CPU寄存器,但它只是一个配置工具。另外,您应该了解,每个进程都有自己的寄存器状态结构,称为
    上下文
    ,因此不清楚您到底想要实现什么

  • msconfig
    只保存Windows内核使用的配置信息,因此它可以在初始化时限制CPU内核/内存。您可以使用API函数
    SetProcessAffinityMask
    限制所选进程的可用处理器


  • 我不明白这个问题。@andlabs。你可能知道使用msconfig会限制CPU核心,对吧?含糊不清。你到底想做什么?@DavidHeffernan。。希望使用应用程序或驱动程序关闭内核。我想了解msconfig是如何进行核心控制的。@RDX:这是一个糟糕的问题,我投票就是为了表达这一点。它缺乏重点,而且前后不一致。标题是关于使用特定工具做某事,问题是,没有该工具如何做。很难说这个问题有用。当你看起来很惊讶的时候,你可以考虑去看看这个网站是如何运作的。通读也不会有什么坏处。@Ari0nhh.谢谢你的解释。。你能告诉我“SetProcessAffinityMask”api可以用于windows机器的内核吗?如果是,请分享链接或示例代码。不,不能。它只是限制了处理器内核,而处理器内核可供调度程序用于处理线程。如果需要全局限制核心计数,则必须修改BCD(引导配置数据),msconfig正是这样做的。你自己这样做是非常危险的,很容易使你的系统无法转动。是的。这是真的。需要小心处理。但我认为可能是任何CPU寄存器或任何操作系统属性,其中包含要禁用的内核数。可能是在mscinfig->Boot options中进行设置之后,允许处理器计数的操作系统存储在某些硬件或BCD中。对此不确定