ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Windows 7 CPU亲和性配置指南:用任务管理器与start /affinity解决老程序卡顿

Windows 7 CPU亲和性配置指南:用任务管理器与start /affinity解决老程序卡顿 简介这份docx文档面向Windows 7用户、系统管理员及需要处理旧软件兼容性问题的技术人员重点讲解多核处理器环境下的性能优化与冲突排查。文档从多核工作原理切入介绍了旧程序在双核或更多核心上出现卡顿、不稳定的原因并详细说明通过任务管理器“设置相关性”指定程序使用特定CPU核心、借助“资源监视器”观察每个核心负载以及创建带CPU亲和性快捷方式等实用方法。内容还解释了亲和性数值与核心选择的二进制换算关系便于读者举一反三。资源为单篇docx文档文件总数1个压缩包约550KB行文简洁、步骤清晰可快速查阅。目前已有105人学习下载对希望提升老旧程序运行效率或深入理解Windows多核调度机制的用户是一份轻量而实用的技术参考。1. 多核处理器兼容问题Windows 7 里的“卡顿”不一定要靠换机解决如果你手里还有一台 Windows 7 老机器装了个十几年前开发的单线程软件一跑就卡死、界面无响应、CPU 占用却只有 25%那多半不是机器太老而是多核处理器兼容问题在捣乱。Windows 7 其实早就带了 CPU 亲和性CPU Affinity设置可以把指定进程钉在某个核心上运行。本文从任务管理器到 start /affinity 命令把整套操作和掩码换算拆开讲适合要维护老系统的运维、做兼容性测试的人也适合老电脑用户自己动手。先说明一点这篇文章不是让你去改 BIOS也不是让你换回单核 CPU而是用系统自带的功能把老程序“哄好”。2. 为什么老程序在多核上翻车先理解 CPU 亲和性这回事2.1 单线程程序、多核心调度和缓存抖动Windows 7 的调度器默认认为所有核心是对等的它会把线程放到当前负载最低的逻辑处理器上。这个策略对现代多线程软件很友好但对老程序却不一定是好事。我处理过一个典型的案例一台双核笔记本跑一个早期的财务软件一旦打开报表模块任务管理器里 CPU 占用率就在两核之间轮流冲高界面却卡住不动。点开资源监视器能明显看到进程的 CPU 时间被频繁拆到两个核心上。问题出在线程迁移。线程从 CPU0 跳到 CPU1 时之前填充的指令缓存、数据缓存、TLB 全部失效下一次访问要重新从内存拉数据。老程序很多是单线程大循环在循环里反复读写同一块内存这种迁移成本会被放大。更麻烦的是有些程序会利用 RDTSC 做耗时统计跨核之后读到的时间戳不同步就可能出现计时倒退、动画忽快忽慢。所以当你看到一个老程序在双核机上比单核机还卡别怀疑这确实是多核处理器兼容问题。遇到这种状况第一反应不应该是换 CPU 或关掉一个核心而是先怀疑调度的锅。你要做的不是拆硬件而是告诉 Windows 7这个程序只能在某几个核心上跑。这就是 CPU 亲和性CPU Affinity。它不是什么黑匣子技术本质就是一个掩码限制线程可以被分配到哪些逻辑处理器。我见过一个更隐蔽的情况程序本身是多线程的但其中一个线程长期占满 CPU另外几个线程只是偶尔发个消息。默认调度下主线程会在核心间跳来跳去而其它系统的中断也一起抢着用核心最后看起来像 CPU 总占用率不高程序却一直在等数据。给整个进程设置相关性后主线程固定在 CPU0系统中断和其它任务被赶到 CPU1程序立刻恢复响应。这种问题只靠看任务管理器百分比不一定能发现得结合资源监视器里的线程行为一起判断。2.2 任务管理器“设置相关性”的原理其实就是亲和性掩码系统把每个逻辑处理器编号从 0 开始。双核就是 CPU0、CPU1四核就是 CPU0 到 CPU3如果你开了超线程那就是 CPU0 到 CPU7。亲和性掩码用二进制表示最低位对应 CPU0次低位对应 CPU1以此类推。比如掩码 0001 只允许 CPU00010 只允许 CPU10011 则允许 CPU0 和 CPU1。在任务管理器里右键进程点“设置相关性”出现的勾选框就是让你可视化地修改这个掩码。你勾上哪个核心对应位就置 1。这里有一个几乎每个人都会绕晕的点图形界面里的编号是 0、1、2、3但命令行和 API 里的掩码值是 1、2、4、8。核心编号和掩码值差了一个指数关系。比如四核机器上你想只让 CPU2 跑任务管理器里勾 CPU2掩码值却是 4不是 2。我最初也在这上面翻过车后来记住了一个口诀掩码值等于 2 的“核心编号”次方。所以 affinity 3 为什么是 CPU0 加 CPU1因为 3 的二进制是 0011最低两位都是 1affinity 9 为什么是 CPU0 加 CPU3因为 9 的二进制是 1001第 0 位和第 3 位是 1。这一段算是 Windows 7 多核兼容问题的核心知识后面用 start /affinity 命令时全都要靠它。还要注意一点进程的亲和性掩码是会被子进程继承的。你在命令行里用 start /affinity 启动一个程序如果它又拉起别的辅助进程那些进程会继承同一个掩码。这个特性有好处也有坑。好处是你只需要设置入口程序整套组件都被限制在指定核心上坏处是有些老程序会运行时再启动一个临时更新程序更新程序也被绑在同一个核上拖慢正常业务。这时我一般会在任务管理器里检查所有相关进程的亲和性必要时单独调整临时进程。2.3 动手前先记录基线别把设置后的副作用误判成改善改设置之前我一般会先把“正常状态”记录清楚。这不是形式主义。亲和性设置生效很快但效果好坏要放在一个可对比的基线上看否则很容易被情绪带偏。要记录的东西用什么看记下来做什么程序正常状态的 CPU 占用率任务管理器 - 进程设置后对比判断是变好还是变坏程序的主线程数量任务管理器 - 性能 - 资源监视器决定是绑单核还是绑多核程序版本和安装路径程序自身属性换机器时复现同样的坑具体做法先把目标程序启动起来放在空闲状态打开任务管理器记录 CPU 占用率和内存占用再跑一个典型操作比如打开大报表、切换页面记录峰值。然后设置相关性重复同样的操作对比两组数据。如果 CPU 占用率下降、界面响应变快说明绑核有效如果占用率没变但程序更卡那就得考虑是不是线程被塞进了单核导致互相争抢。同时要记下怎么恢复默认。设置相关性的窗口里把所有核心都勾上点确定就还原成系统默认调度。我一般会先试“只勾 CPU0”跑三分钟再试“只勾 CPU1”看哪一个稳定。对于双核机器老程序通常更适合固定在 CPU0因为 Windows 7 系统本身很多内核线程也偏爱 CPU0这样不会抢走程序需要的那个核心。记录基线还有一个额外价值如果最后绑核没有明显改善至少能用这些数据证明问题不在多核调度上再去看程序兼容模式、内存、磁盘这些方向。否则你改了一圈连原状态什么样都忘了排查会绕很多弯路。2.4 什么情况下值得绑核什么情况别折腾说句实话不是所有卡顿都适合用亲和性解决。单线程、低 CPU 占用但界面卡的老程序值得试多线程程序或现代大型软件系统调度本来就比你手动分配更聪明别去乱绑。类似点歌系统、老旧工控软件、老游戏这一类属于典型的“吃单核”场景绑核经常能立竿见影。判断方法很简单打开资源监视器看一下这个进程的线程数。如果线程数长期是 1 或者只有个位数而且 CPU 总占用率不高那就可以试。如果是几十个线程的现代应用那就别动。亲和性是给特定场景用的一味药不是万能工具。另外要看 Windows 7 的系统版本。32 位系统最多支持 32 个逻辑处理器64 位系统最多支持 256 个。对普通四核机器来说这个限制无所谓但如果你在旧服务器上跑 8 核以上的 Windows 7掩码位数会跟着系统位数变化别把超出 31 位的核心编号硬塞给 32 位系统。我自己的决策习惯是先花两分钟用任务管理器临时设一次跑一个典型业务效果明显就继续效果不明显就立刻恢复默认不在一棵树上吊死。这样既不会浪费大量时间做快捷方式也不会错过真正有效的优化手段。3. 用任务管理器把程序绑到指定核心从进入到验证全流程3.1 三步找到“设置相关性”入口第一种是 CTRLAltDelete 打开任务管理器进入到有“应用程序”标签页的界面左键点中目标程序右键选择“转到进程”。系统会帮你跳到进程标签页并且选中这个程序对应的进程。然后在这个进程上再点右键菜单里就有“设置相关性”。第二种更快直接 CTRLShiftEsc 打开任务管理器切到“进程”标签页找到程序名直接右键设置相关性。如果程序是 32 位老软件进程列表里往往显示的是应用程序名而不是映像名称注意别找错。我处理过几次用户把两个相似进程搞混给 A 进程设置了相关性实际上卡的是 B 进程。关于打开方式我一般推荐 CTRLShiftEsc一步到位。CTRLAltDelete 那条路径是从 Windows 安全桌面进来的能避开部分权限问题但多一次按键适合界面已经被卡到响应不了时用。老程序一旦卡死经常是鼠标还能动但点不中任何按钮这时候用 CTRLAltDelete 进安全桌面再打开任务管理器成功率更高。还有一个细节任务管理器左下角如果显示“显示所有用户的进程”并且你正以普通用户身份操作那么看到的进程表可能不完整。遇到这种情况点一下这个按钮输入管理员密码才能看到并修改高权限进程的相关性。否则你以为没找到程序实际上是列表被系统截断了。3.2 核心勾选策略从单核起步逐核加到稳定打开“设置相关性”后你会看到一列 CPU 复选框。默认情况下所有核心都是勾选的代表系统可以自由调度。现在你要按顺序做先取消“所有处理器”然后只勾 CPU0点确定。回去正常操作程序看是否还卡。如果单核 CPU0 下程序稳定只是稍慢那就可以试着把 CPU0、CPU1 都勾上跑一段负载看有没有明显抖动。我的经验是老程序能绑单核就别绑双核因为很多老程序引入多线程只是为了界面刷新计算主循环仍是单线程给它两个核反而会频繁迁移。如果单核下出现执行时间长了一倍说明程序本身有并行部分再适当放开。还需要注意Windows 7 64 位系统里任务管理器默认会显示“逻辑处理器”不是物理核心。超线程开启后四核机器你会看到 8 个 CPU 编号。有些老程序在超线程核心之间迁移也会出问题这时你可以优先勾选偶数编号的核心因为 Windows 7 一般把物理核心排在前面试图避开超线程带来的干扰。不过这个经验因机器而异没数据就别太执着。在勾选时还要留意程序自己的线程管理。有的老软件启动时先创建一个主进程再拉一个子进程做轮询。你给主进程设置了相关性子进程可能没跟上。最好的检查方式是设置完跑一次完整业务然后去任务管理器进程列表里确认所有相关进程的复选框状态都是你要的那一组。3.3 验证设置是否生效资源监视器怎么看设置完之后别急着下定论。打开任务管理器切到“性能”标签页点击下方“资源监视器”进去后看“CPU”区。这个区域里有一个总览百分比和一个一个的小窗格每个窗格对应一个逻辑处理器。运行目标程序时你会看到只有你勾选的那个核心窗格在跳动其他核心基本平躺。这里有个容易误判的地方资源监视器每个窗格显示的是“当前瞬时占用率”不是一个稳定的直方图。如果程序是脉冲式占用你会看到波形一跳一跳不要以为设置失效。正确的验证方法是让程序跑一个持续性的任务比如循环计算或导出报表然后观察 10 秒以上确认其它核心确实空闲。我一般会同时看两个指标CPU 占用率和“硬错误/秒”。如果硬错误数量明显上升说明固定核心后内存缓存赔付减少程序在频繁访问磁盘效果变差了如果没有明显变化说明绑核没有引入额外开销。资源监视器里还能看到每个进程的 CPU 分配情况可以直接点开“进程”下拉列表找到目标进程看它有没有分布在多个核心上。还有一个更直接的验证点在资源监视器的“CPU”窗格里把鼠标停在一个核心上系统会提示这个核心上当前有哪些线程正在运行。如果目标进程的线程只出现在 CPU0 的窗格里那就证明亲和性已经生效。这个功能在 Windows 7 的资源监视器里做得比任务管理器细适合做最终确认。3.4 用命令行核对亲和性wmic 查询与常见输出任务管理器的勾选状态是进程级的肉眼确认没问题但要批量或脚本化验证我会用 wmic 查询进程的亲和性掩码。在 Windows 7 的命令提示符里输入wmic process where namedfrgui.exe get processid,affinity说明这里 dfrgui.exe 是磁盘碎片整理程序的映像名称。wmic 会列出匹配进程的 PID 和 affinity 值。affinity 是一个十六进制数显示为 0x1、0x3 之类。比如输出 0x1对应二进制 0001说明只允许 CPU0输出 0x3 是 0011允许 CPU0 和 CPU1。如果查询出来 affinity 是 0xFFFFFFFF说明这个进程允许全部 32 个逻辑处理器也就是任务管理器里全勾选的状态。注意 wmic 输出里的 affinity 是十六进制不是十进制别看到 10 就当 CPU10那是 0x10对应 CPU4。这个细节不写清楚的话核对时会一头雾水。需要留意的是32 位进程在 64 位系统里通过 wmic 查询 affinity 的值可能受系统位数影响但在 Windows 7 的 32 位和 64 位版本里这个命令都能用只是显示格式略有差异。建议在绑定后立刻跑一次这条命令截图留档方便以后对比。如果查询结果里同时有多条同名进程wmic 会列出它们的 PID 和各自的 affinity。这时候要逐个核对因为有些程序会反复重启子进程导致部分进程还是默认掩码。我一般会在程序跑完一个完整流程后再查一次确认没有漏网的子进程。4. 用 start /affinity 创建快捷方式把绑定固化成双击动作4.1 命令结构拆解cmd /C、start、/affinity 和程序名任务管理器里设置的亲和性有一个硬伤进程一旦被关闭再重新打开就会失效。如果你每天都要用那个程序总不能每次都打开任务管理器去勾一遍。正确做法是用 start 命令在启动程序时就带上亲和性参数然后把这条命令做成快捷方式。命令的完整形态是cmd.exe /C start /affinity 掩码 程序名。拆开来看cmd.exe /C 表示打开一个命令解释器并且执行完后面这条命令就关闭start 是 Windows 自带的外部命令用来启动一个程序/affinity 是 start 命令的参数后面跟一个掩码值最后是要启动的程序。文档里已经给了三个现成的例子以磁盘碎片整理程序 dfrgui.exe 为例C:\Windows\System32\cmd.exe /C start /affinity 1 dfrgui.exe C:\Windows\System32\cmd.exe /C start /affinity 2 dfrgui.exe C:\Windows\System32\cmd.exe /C start /affinity 3 dfrgui.exe第一条让 dfrgui.exe 只在 CPU0 上运行affinity 1 的二进制是 0001只置位第 0 位第二条只在 CPU1 上运行2 的二进制是 0010置位第 1 位第三条同时允许 CPU0 和 CPU13 的二进制是 0011置位第 0、1 位。注意这里的核心编号是从 0 开始不是从 1 开始。我一般会把这三种命令做成三个快捷方式分别命名方便测试时切换。只在某些老程序偶尔抽风时才把 affinity 设成 3。大多数情况先从 1 开始。这个阶段的目标是找到一个“程序顺滑、核心占用不过高”的稳定组合等确定了再固化成唯一快捷方式。4.2 掩码值换算从核心组合到数字的二进制逻辑到了四核处理器上掩码计算就需要一张表了。核心编号对应关系是这样的1 - CPU02 - CPU14 - CPU28 - CPU316 - CPU432 - CPU5以此类推。想同时用几个核心就把这些数字加起来。想使用的核心掩码值二进制说明只跑 CPU010001最低位为 1只跑 CPU120010第 1 位为 1只跑 CPU240100第 2 位为 1只跑 CPU381000第 3 位为 1CPU0 CPU130011第 0、1 位都为 1CPU0 CPU391001第 0、3 位都为 1四个核心全用151111低 4 位全为 1注意 9 是最容易让人迷惑的它看起来像 CPU9实际上是 CPU0 加 CPU3因为二进制 1001 的第 0 位和第 3 位是 1。文档里特别提到这一点我在实际也踩过在四核机器上给程序设 affinity 9结果看到 CPU0 和 CPU3 有负载CPU1、CPU2 闲着开始以为是软件 bug后来一算才发现是自己写错了。对于超过 4 核心的机器可以按相同规则继续加32 对应 CPU564 对应 CPU6128 对应 CPU7。如果掩码值超过 255用十六进制会更容易读比如同时使用 CPU0、CPU1、CPU8 就是 0x103不用掰着手指头数位。Windows 7 的 start /affinity 参数本身是按二进制掩码解析的只要值对不在乎你写成十进制还是十六进制。4.3 做一个持久化的桌面快捷方式以磁盘碎片整理为例创建步骤很简单。桌面空白处右键选择“新建 - 快捷方式”在位置栏里填写上面那条命令比如让磁盘碎片整理程序只在 CPU0 跑就填C:\Windows\System32\cmd.exe /C start /affinity 1 dfrgui.exe命名比如“磁盘碎片整理(CPU0)”然后确定。以后双击这个快捷方式程序启动后就已经被限制在 CPU0 上了。打开任务管理器找到该进程右键设置相关性会看到只有 CPU0 是勾选状态而且复选框是灰色的这就是被命令行强制锁定的表现。有一点要注意start 命令启动的进程是独立于 cmd.exe 的新进程所以 cmd.exe 关闭不会带走目标程序。很多人担心 C:\Windows\System32\cmd.exe 作为宿主会不会留一个黑窗口其实只要命令语法正确start 成功后会立即返回cmd.exe 随之退出只留下目标程序在跑。快捷方式的“起始位置”最好也设置一下。右键快捷方式 - 属性 - “起始位置”填入程序所在目录。虽然 start /affinity 跟当前目录没有直接关系但很多老程序会读取相对路径的配置文件起始位置不写对启动后可能报找不到 ini 文件干扰你判断亲和性是否生效。4.4 扩展到任意程序路径带空格时怎么处理如果程序不在系统目录比如装在 D 盘、路径里还有空格直接写会翻车。start 命令对引号的解析和普通命令不同第一个带引号的字符串会被当成窗口标题。常见错误是写成这样C:\Windows\System32\cmd.exe /C start /affinity 1 D:\旧软件\老系统.exe这样的结果是启动了一个带标题的窗口程序却没起来。正确写法是在 start 后面补一个空引号作为窗口标题把程序路径放到第二组引号里C:\Windows\System32\cmd.exe /C start /affinity 1 D:\旧软件\老系统.exe参数说明第一个空引号是给 start 的窗口标题用的防止它把带空格路径误读成标题/affinity 1 指定掩码后面才是真正要执行的程序路径。这个引号问题在纯系统目录的 exe 上不会出现所以文档里的 dfrgui.exe 例子看着很简单一旦换成路径带空格的程序新手基本都会卡这步。我一般会把程序复制到一个纯英文无空格的目录里比如 C:\Apps\这样既能少一层引号问题也方便以后写脚本。毕竟老程序路径里的中文和空格除了引号问题还可能触发代码页编码错乱让你连错误信息都看不懂。如果程序还有命令行参数比如老程序启动时要加载某个配置文件那就把参数也放进引号里整体作为第二个参数传给 start。例如start /affinity 1 C:\Apps\old.exe -config app.ini。注意参数不能放在第一条命令的引号里面否则 cmd.exe 会把它当成命令的一部分而不是程序参数。5. 避坑亲和性设置常见的五个坑和排查记录这一章列的五个问题都是我实际遇到过的每一个都有明确的“现象 - 原因 - 解决”路径方便你直接对照排查。5.1 设置了相关性重启后消失现象在任务管理器里给程序勾了 CPU0运行正常但第二天双击程序发现又跑在所有核心上卡顿依旧。原因任务管理器里设置的亲和性只对当前进程实例有效。进程退出掩码就释放了新进程由系统重新调度继承的是默认值不会记住你的设置。解决把绑定动作放到程序启动入口。使用 start /affinity 命令创建快捷方式或者写一段批处理每次启动时先设置亲和性。常见做法是把它放进 Windows 7 的“启动”文件夹开机自动绑定。记住一个原则任务管理器是临时的手术刀start /affinity 才是长期的处方。5.2 绑定单核后老程序反而更卡现象一个老软件在双核上本来就卡设成只在 CPU0 运行后响应时间反而从 3 秒变到 6 秒CPU0 占用冲到 100%其它核心闲着。原因程序并不是纯单线程。有主线程做计算也有辅助线程负责数据加载、日志写入。把整个进程限制到单核所有线程都挤在一个核心上排队计算时间被拉长。早先在任务管理器里看到它跨核跳其实是它在做一些小的并行工作。解决先别锁定单核用第 3 章的逐核扩张策略从 CPU0 开始逐步加上 CPU1、CPU2每加一次跑相同操作测试一遍。找到一个“不卡且核心占用不冲顶”的组合。如果加满全部核心仍然卡那就不是亲和性能解决的需要查软件自身兼容模式右键属性里设置 XP 兼容模式、管理员运行或者用虚拟化环境跑。5.3 start /affinity 命令提示参数格式错误现象在快捷方式的目标栏里输入 C:\Windows\System32\cmd.exe /C start /affinity 1 D:\app\老程序.exe双击后提示“参数格式不正确”或者是“系统找不到文件”。原因start 命令把第一个带引号的参数当成了窗口标题后面真正的路径参数被吃掉。这正好是 4.4 节讲的引号陷阱。另一种原因是没有用 cmd.exe /C 包住整条命令而是在批处理里直接写 start /affinity那语法是对的但提示信息可能不同。解决在 start 和 /affinity 之间加一对空引号写成 start /affinity 1 路径。要是想彻底绕开把程序复制到 C:\Apps\ 这样的无空格目录就不需要那对空引号。别小看这个坑我统计过团队里新同事第一次做这个快捷方式十个人里有六个栽在这。5.4 四核机器上 affinity 9 只激活了两个核心没写错现象给四核机器设置 affinity 9启动程序后任务管理器里看到只有 CPU0 和 CPU3 有占用以为命令写错导致只用了两个核心。原因没写错affinity 9 对应的二进制 1001表示的就是 CPU0 和 CPU3。核心编号不是按连续数字排列的简便映射9 并不等于“前 9 个核心”。如果你想把四个核心都放开掩码应该是 15不是 4也不是 9。解决对照第 4 章的掩码表核对。想要连续的前 N 个核心掩码值公式是 2^N - 1两个核心是 3三个核心是 7四个核心是 15。想用不连续的组合必须一位一位拆二进制。这个道理只有算错一次才记得牢我一开始也给用户设过 4结果只跑到 CPU2机器直接卡死从那以后都是先列出掩码表再动手。5.5 任务管理器里“设置相关性”是灰色不可点现象右键进程看到“设置相关性”菜单是灰色点击无反应或者弹窗里复选框全部不能勾选。原因大多数情况下是权限不足。进程以管理员权限运行而任务管理器是普通权限启动系统不允许普通令牌修改高权限进程的亲和性。少数情况是受保护进程比如某些反病毒软件的内核组件和系统关键进程连管理员也无法设置。解决右键任务管理器图标选择“以管理员身份运行”再打开进程列表设置。如果是在搜索栏打开的任务管理器默认是普通权限。顺手检查一下程序属性里是否勾了“以管理员身份运行此程序”如果勾了那么启动它的快捷方式也最好用管理员身份。对于受保护进程放弃别跟系统较劲。6. 把 affinity 用成习惯写一个绑定常用软件的小脚本到这一步你已经掌握了两种绑定方式进程运行时临时勾选以及通过 start /affinity 固化。最后我建议你把这套操作收敛成一个脚本以后重装系统、迁移机器时直接复用。下面这个批处理是我常用的模板放在 D:\Scripts\affinity.bat每次装完老软件后改一行就能用echo off set APPD:\Legacy\fin_app.exe start /affinity 3 %APP%说明第一行关闭命令回显让窗口干净第二行把程序路径存进变量 APP方便以后只改这一处第三行启动程序并绑定到 CPU0 和 CPU1。如果你要绑单核把 3 改成 1绑四核的全部前四个核改成 15。脚本放在桌面或启动文件夹双击运行即可。我还会在同一个脚本里顺手做一次检查启动后用 wmic 把实际掩码打出来echo off set APPD:\Legacy\fin_app.exe start /affinity 3 %APP% timeout /t 2 nul wmic process where namefin_app.exe get processid,affinity这里 timeout 2 是等程序起来wmic 输出确认绑核没有因为权限或路径问题被吞掉。看到 affinity 0x3 就说明成功了。这个习惯帮我省了不少事因为很多人改了命令但没保存权限短期看着正常换了用户登录就失效。从那以后我每次接手一台装老系统的 Windows 7 机器都会先问清楚要跑哪些老软件然后直接给它们建一个 start /affinity 快捷方式放进启动文件夹。平时系统正常运行双击用到时才发现已经提前绑好了核省去反复开关任务管理器。这个套路不复杂胜在每次都能在五分钟内让卡顿问题要么被解决、要么被证明不是亲和性的锅。我把这套操作连同掩码表整理成了可编辑的 Word 文档下载后直接改路径和 affinity 值就能用。希望帮到你。本文还有配套的精品资源点击获取
返回列表