Windows 处理器关联如何与超线程 CPU 配合使用?让我们使用具有四个内核的系统的示例(如图),每个内核都有一个超线程虚拟内核。
这对我来说都是非常模糊和混乱的。HT 很棒,但它似乎确实降低了资源分配的透明度。

我有一款游戏存在 CPU 使用率问题,因此修复方法之一是禁用四核 CPU 中的一个核。由于每次启动游戏时我都必须手动进入任务管理器并手动输入关联,这很糟糕,因为游戏是新发布的,但容易频繁崩溃。
有非软件解决方案吗?
我在网上查找了一些解决方案,它们似乎仅适用于 Windows 7。像我这样的 Windows 8.1 用户有解决方案吗?
你如何在 MacBook Pro 上的 Snow Leopard 中设置处理器关联?我知道在 Windows 中你可以在任务管理器中切换它。
Priority 和 Affinity 究竟是什么(在任务管理器中找到)以及它们的用途:

在什么情况下应该/可以使用它们以及在自定义这些设置时发现了哪些优点。
有一些老游戏不喜欢当今计算机中的多核处理器。我想知道是否有办法在 Wine 或 CrossOver 下将它们的 CPU 亲和力设置为“1”?即在本机 Windows 环境中,您可以在任务管理器中右键单击游戏进程,然后在那里设置关联。
我遇到了一个名为 RunFirst.exe 的程序,但找不到运行它的方法,然后在一个命令中运行游戏。
建议表示赞赏。谢谢!
我有一个可执行文件foo.exe,我需要在多处理器设置上同时运行 6 次,其中前 3 个实例将分配给组 0 中的核心,接下来的 3 个实例将分配给组 1 中的核心。
foo.exe我的桌面上有 6 个程序快捷方式。每个快捷方式都为foo.exe程序提供了一组不同的参数来运行。
我只需单击快捷方式即可运行程序的 6 个实例foo.exe。它们都启动了,但是然后我必须进入任务管理器并通过设置它们的组关联来确保将 3 个分配给组 0 中的 CPU,将 3 个分配给 CPU 的组 1。
有没有办法可以修改桌面上的快捷方式,以确保其中 3 个foo.exe程序使用 Group 0 而其中 3 个程序使用 Group 1?
我想在启动时打开一些程序而不影响性能,我想在我的启动文件夹中创建它们的快捷方式。
如果我可以通过在位置字符串的末尾添加修饰符来做到这一点,它会很好地工作。
我需要在 1 个 CPU 上测试多线程程序的性能,但我有一台双 CPU 机器。我需要为那些共享它们的插槽的逻辑 CPU 设置亲和性,否则它们会从大量 FSB 中受益。我尝试了亲和力 0-7 和 8-15,但结果差异很大,第一个更快。因此我不知道哪个逻辑 CPU 共享它们的套接字。
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 1
Core(s) per socket: 8
CPU socket(s): 2
NUMA node(s): 4
Vendor ID: AuthenticAMD
CPU family: 16
Model: 9
Stepping: 1
CPU MHz: 800.000
BogoMIPS: 4000.40
Virtualization: AMD-V
L1d cache: 64K
L1i cache: 64K
L2 cache: 512K
L3 cache: 5118K
NUMA node0 CPU(s): 0-3 …Run Code Online (Sandbox Code Playgroud) 我正在尝试提高游戏中的 CPU 性能,为此我想尝试为其提供 2-4 个仅运行该应用程序的 CPU 核心,而不运行与 Windows 相关的服务。我可以在其中为所有应用程序、服务、进程等设置默认关联性吗?在计算机上,所以核心实际上根本没有被使用?
我们的基本系统在 Linux 上运行,但不幸的是 UI 必须在 Windows 上。说来话长。但这就是要求。所以我们的想法是使用 VirtualBox 或 Xen 在虚拟机中运行 Windows。由于我们的实时性能限制,我们希望将虚拟机隔离到单个处理器(在多处理器计算机的情况下)或处理器核心(在多核处理器的情况下)。
这样的事情可能吗?可以在运行虚拟机的进程上设置处理器(核心)关联性吗?对于这一要求,一个虚拟化平台是否比另一个更好?我对 Xen、KVM、VirtualBox、OpenVZ 等感到困惑。
我想在 Windows 7 上运行一些基准测试。这些基准测试与多核 CPU 上的超线程有关。为此,我想确保只有基准测试在它们自己的逻辑处理器上运行。有没有办法告诉 Windows 不要在某些逻辑处理器上安排任何事情,除非我明确允许它用于某个进程?
在任务管理器中手动执行此操作,一次一个进程,不是一种选择。我希望能够重复执行此操作(我将多次运行许多基准测试)。我知道如何以编程方式设置当前正在运行的进程的亲和力。
是否有任何配置可以让我为所有进程设置默认关联?
我在 Windows XP 中遇到一个奇怪的问题。在启动时,系统产生的任何进程(服务、自动运行程序等)都被设置为使用 CPU 的两个线程。但是,资源管理器及其生成的任何程序都设置为仅使用“CPU 0”。
我已经尝试设置explorer.exe两个线程的亲和性,但它在下次启动时仍然只使用一个。某处,某时,不知何故,设置explorer.exe被修改,似乎不想改回/保存。
不要费心提及 msconfig(这是 XP)、任务管理器或 Process Lasso,因为我不是在问在运行时设置关联,而是问Windows 在哪里存储关联设置。
我使用 Blender 之类的应用程序,并且根据“任务管理器”和“资源监视器”,当我渲染视频时,Windows 使用不到 40% 的 CPU(最多,使用下面的选项)和不到 30% 的内存。我不会在渲染时将其余资源用于任何其他事情。有没有办法指示 Windows 使用其全部功能?
我试过改变优先级,它不会明显改善。
我尝试改变对一个(核心)CPU 的亲和力,它确实提高了(渲染速度加倍)。有人知道任何其他“黑客”吗?
affinity ×13
cpu ×5
windows ×5
task-manager ×3
macos ×2
priority ×2
scheduling ×2
threads ×2
windows-7 ×2
core ×1
crossover ×1
linux ×1
shortcuts ×1
windows-8.1 ×1
windows-xp ×1
wine ×1