DLL (動態連結庫) 被多程式共享載入。程式結束後,部分 DLL 仍駐留記憶體以加速下次載入,但過多殘留 DLL 會佔用寶貴記憶體。Win8 可透過註冊表啟用 AlwaysUnloadDLL 強制程式結束時卸載未使用的 DLL,釋放記憶體資源。
操作步驟
- 按 Win+R 輸入
regedit 開啟登錄編輯器。
- 定位至:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
- 在右側空白處右鍵 → 「新增」 → 「DWORD (32 位元) 值」。
- 命名為 AlwaysUnloadDLL。
- 雙擊該值,將「數值資料」設為 1 (十六進位或十進位均可)。
- 確定,關閉註冊表編輯器,**重新啟動電腦**生效。


原理與效果
AlwaysUnloadDLL = 1:告知 Windows Shell (Explorer) 在應用程式終止時,強制調用 `CoFreeUnusedLibrariesEx` 卸載無引用計數的 DLL,減少記憶體常駐佔用。
AlwaysUnloadDLL = 0 (預設/刪除該值):保留 DLL 於記憶體,下次啟動同程式更快,但長期運行記憶體佔用較高。
適用場景與注意事項
- 適用: 記憶體較小 (4GB 以下) 系統、長時間運行不重啟、頻繁開關大型應用 (PS、視頻剪輯、IDE) 導致可用記憶體緊張。
- 副作用: 程式啟動速度略微變慢 (需重新載入 DLL)、極少數舊程式相容性問題 (依賴 DLL 常駐行為)。
- 現代系統 (Win10/11, 8GB+ 記憶體) 通常無需開啟,SuperFetch/SysMain 智慧預讀機制已優化記憶體管理。
- 真正的「清理 DLL 檔案」(刪除磁碟上多餘 .dll 檔) 請用磁碟清理 / 專業清理工具,勿手動刪除 System32 下 DLL,會導致系統崩潰!