微软终于解释:为什么任务管理器总在你最需要时失灵

微软终于解释:为什么任务管理器总在你最需要时失灵

IT之家 10 月 30 日消息,10 月 27 日在微软官方开发者博客上,该公司资深工程师 Raymond Chen 回应一个长期困扰 Windows 用户的疑问:在系统因某个程序占用过多 CPU 而卡顿后,为什么不能把任务栏和任务管理器设置为高优先级,让它们始终保持响应,以便用户及时结束失控进程?

相信不少 Windows 10、Windows 11 用户都有类似经历,在某个游戏、浏览器或大型应用把电脑资源占满后,按下 Ctrl+Shift+Esc 打开任务管理器,却发现它迟迟无法响应,甚至看起来已经卡死。

对此 Chen 表示这并非任务管理器突然“失职”,是系统资源被耗尽后的正常表现。

IT之家援引博文介绍,在系统 CPU 资源不足后,包括任务栏和任务管理器在内,所有进程都会受到影响,尽管它们正是用户希望用来终止失控程序的“救命工具”。任务管理器需要 CPU 时间来绘制窗口、刷新进程列表并响应用户点击;一旦 CPU 被占用殆尽,它同样只能排队等待。

有观点认为,把任务管理器设为更高优先级即可解决。Chen 指出,这种想法并不成立。优先级只能决定线程何时获得 CPU,却无法让线程跳过已被其他线程占用的锁、文件或共享资源。如果任务管理器正在等待某个低优先级线程释放资源,即使它拥有更高优先级,也仍需等待。

他将这一机制比作超市结账:优先通行证可以让你排到队伍最前面,但如果收银台前的人推着装满商品的购物车,你仍必须等其结账完成。

Windows 虽有 AutoBoost 机制,可在“优先级反转”场景下提升占用资源线程的优先级,但如果该线程正在执行缓慢操作,例如通过网络访问文件,CPU 优先级再高也无济于事。

Chen 还表示,Windows 已经对前台应用给予一定调度优待;若用户能将焦点切到任务栏或任务管理器,系统基本已做到能做的部分。但图形界面代码必须调用系统 UI 组件,仍会与其他应用的 UI 线程竞争资源。他强调,这并不是新出现的 Windows 11 缺陷,而是“很难在同一个已经失控的系统内部修复该系统”的结构性难题。

对普通用户而言,若任务管理器无法打开,可尝试 Ctrl+Alt+Delete 进入安全桌面,再启动任务管理器、注销或重启;也可以在“设置 > 系统 > 高级”中开启任务栏的“结束任务”功能,直接右键冻结应用图标并结束任务,绕过任务管理器。