蘋果磕碰了一塊,削皮之後賣相不好、倒胃口。勤儉持家的人不會整顆丟掉,而是把受損的部分削掉,其餘的切片照吃。
最近看到一段影片:華碩 i9 筆電,必須插上某一支特定鍵盤才喚醒得了,不插就睡死。維修師傅最後的做法,是限制 Windows 使用的處理器數量,問題就解決了。而且他沒有用任何外掛或特殊工具,用的是每台 Windows 都內建的 msconfig。
這讓我想到另一件事:顯示卡花屏時,也有人用「停用一條記憶體通道」的方式把卡救回來。兩件事看起來像同一招,但層級完全不同。這篇就來把它們拆開,並且逐項標示「哪些有證據、哪些只是推測」。
一、案例一:CPU 少用幾個,睡眠喚醒就正常?
思路
電腦睡眠、喚醒是一場「所有核心一起關燈、一起開燈」的大合唱,只要其中一個環節沒跟上,整台就卡死。既然懷疑是多核心的電源狀態切換出問題,最直覺的測試就是:少叫幾個核心上場,看問題還在不在。
步驟(Windows 端)
bcdedit /set numproc 24
:: 測試完畢,恢復預設
bcdedit /deletevalue numproc
圖形介面的做法是:msconfig → 開機 → 進階選項 → 勾選「處理器數目」,影片中的師傅走的就是這條路。兩者本質相同,都是在開機設定裡限制處理器數量。順帶一提,微軟有一則已知問題指出:邏輯處理器達 32 個以上時,msconfig 的下拉清單可能顯示不正確,建議改用 BCDEdit。這台 i9 剛好是 32 個,操作時要留意。
不需要。影片中的師傅只用了 Windows 內建的 msconfig,路徑是「開機 → 進階選項 → 處理器數目」,不必下載任何軟體。
是否還有別的做法?有可能,例如部分機種的 BIOS 提供核心數選項,但這要看機型,我沒有查證華碩該機型是否有,影片中的案例也沒有用到。想先試試看的話,從 msconfig 這一步開始最簡單,也最容易還原。
原理:它「不是」你想的那樣
有個冷知識:研究 Windows 內部機制的 Geoff Chappell 指出,微軟的文件沒講清楚這個數字算的是邏輯還是實體處理器,而且核心的計算方式其實跟授權檢查綁在一起,行為不一定如你直覺所想。換句話說,它原本就是給開發與除錯用的功能,不是為了「隔離壞核心」而設計的。
證據檢視
| 主張 | 查核結果 |
|---|---|
| numproc 可限制 Windows 使用的處理器數量 | 已證實 有多個技術文件與社群說明 |
| 它能指定關閉哪幾顆核心 | 已證實為否 只能設定數量 |
| 限制後睡眠喚醒恢復,代表某核心故障 | 推測 症狀消失不等於故障定位 |
| 影片中師傅限制了處理器數量 | 已證實 影片畫面顯示 msconfig 設為 24(原本 32 線程) |
| 被排除的 8 個是哪幾個、為什麼有效 | 未驗證 影片畫面沒有說明,也無法由設定值反推 |
「插特定鍵盤才喚醒得了」這個細節很有意思:它更像是喚醒來源(USB/內建控制器)與電源狀態的相容問題,而不是單純的某顆核心壞掉。所以就算減少核心後好了,也可能只是改變了時序,剛好避開問題。遇到類似狀況,建議先查 BIOS/EC 韌體更新、USB 的電源管理設定,再考慮核心數量這種「降規」手段。
二、案例二:GPU 停用一條記憶體通道
思路
顯示卡花屏、出現 Artifact、Windows 裝置管理員報 Code 43,有一類成因是「GPU 晶片和某一組顯示記憶體之間的連線出問題」。既然 GPU 是分成好幾條通道跟記憶體溝通,那就把壞的那條直接關掉,剩下的照用。這就是那顆被削掉一塊的蘋果。
步驟(概念流程,不是教學)
證據
停用通道只對「通道本身的連線問題」有效。顆粒壞掉、GPU 核心壞掉、供電異常,都不會因為關一條通道就好。而且每張卡的通道配置不同,拿錯 VBIOS 可能直接讓卡無法初始化,要用燒錄器才救得回來。
三、備胎 vs. 削蘋果:原廠備援不是同一回事
NVIDIA 的資料中心文件確實有一項 RAS 修復功能:在部分 Blackwell 產品上,可以把有問題的 DRAM 通道或 L2 快取切片,換成預留的備援。文件寫得很清楚:
用一句話區分:原廠備援是「換上備胎」,容量不變;維修降規是「削掉壞的那塊」,容量變小。前者是晶片設計時就預留的資源,後者是事後的繞路。
四、兩種手法放在一起看
| 比較項目 | CPU 限制處理器數量 | GPU 停用記憶體通道 |
|---|---|---|
| 操作層級 | Windows 開機設定 | 顯示卡韌體(VBIOS) |
| 控制對象 | 邏輯處理器數量 | 記憶體通道 |
| 能否點名故障元件 | 不能 | 特定型號可以 |
| 代價 | 可用運算資源減少 | 容量、頻寬下降 |
| 失敗風險 | 低,改回即可 | 較高,可能變磚 |
| 是否修復硬體 | 否 | 否 |
五、四個層次:別把「還能用」當成「修好了」
CPU 那招多半停在第一層,是診斷加上暫時壓低故障機率;GPU 那招,在條件吻合時可以做到第三層。兩者都沒有到第四層,原本的故障仍然躺在那裡,可能隨溫度、負載與時間再度出現。
所以回到蘋果:削掉壞的地方,剩下的確實還能吃,但你得清楚少了一塊,也要留意壞的部分有沒有繼續蔓延。放在家裡自己吃沒問題;要拿去賣給別人(或用在重要的工作設備上),就得先把這件事講清楚,並做完長時間的壓力測試。
硬體不一定要整顆報廢,但「帶病運行」跟「勉強撐著用」的差別,在於你是否知道壞在哪、少了什麼、風險多大。能說清楚這三件事,才叫工程;說不清楚,只是運氣。
參考資料
工程師思路系列 | 相互尊重、信任與理解
Comments