yur*_*uki 20 task-manager affinity windows-8.1
我有一款游戏存在 CPU 使用率问题,因此修复方法之一是禁用四核 CPU 中的一个核。由于每次启动游戏时我都必须手动进入任务管理器并手动输入关联,这很糟糕,因为游戏是新发布的,但容易频繁崩溃。
有非软件解决方案吗?
我在网上查找了一些解决方案,它们似乎仅适用于 Windows 7。像我这样的 Windows 8.1 用户有解决方案吗?
Has*_*zak 27
您可以创建快捷方式来分配关联。
X:\Windows\System32\cmd.exe /C start /affinity Y game.exe
Run Code Online (Sandbox Code Playgroud)
Y 是十六进制并且是位掩码:
0x1 - 0001 - Core0
0x2 - 0010 - Core1
0x3 - 0011 - Core1 & Core0
0x4 - 0100 - Core2
0x5 - 0101 - Core2 & Core0
0x6 - 0110 - Core2 & Core1
0x7 - 0111 - Core2 & Core1 & Core0
0x8 - 1000 - Core3
0x9 - 1001 - Core3 & Core0
0xA - 1010 - Core3 & Core1
0xB - 1011 - Core3 & Core1 & Core0
0xC - 1100 - Core3 & Core2
0xD - 1101 - Core3 & Core2 & Core0
0xE - 1110 - Core3 & Core2 & Core1
0xF - 1111 - Core3 & Core2 & Core1 & Core0
Run Code Online (Sandbox Code Playgroud)
如果“非软件”是指不需要额外的软件,那就是。您可以从命令脚本运行程序并使用关联开关"Start /AFFINITY 20 process.exe"
/AFFINITY 20将20视为十六进制数,二进制等效于100000,这将在 6 核处理器上设置与 0-5 中的核心 5 的亲和性。类似的十六进制掩码可以让您禁用特定的核心,例如E,它仅在 0-3 或 0-5 中的 1-3 核心上运行进程。
对于其他人正在寻找答案但没有找到答案,我找到的解决方案是使用名为WinAFC(或 AffinityChanger)的应用程序。这是一个部分 GUI、部分命令行应用程序,它允许您为某些可执行文件指定配置文件,并将轮询它们的进程列表。如果找到匹配的进程,它将根据加载的配置文件中的设置更改这些进程的关联。
这里有一些文档:http : //affinitychanger.sourceforge.net/
出于我的目的,我创建了一个如下所示的配置文件:
TestMode = 0
TimeInterval = 1
*\convert.exe := PAIR0+PAIR1
Run Code Online (Sandbox Code Playgroud)
此配置文件将任何 convert.exe 进程设置为使用前两个 CPU 内核对(CPU0、CPU1、CPU2 和 CPU3),每秒轮询一次。TestMode是一个切换开关,可让您查看您的个人资料是否正常工作,而无需实际设置关联。
希望有人觉得这很有用!
| 归档时间: |
|
| 查看次数: |
36885 次 |
| 最近记录: |