Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

應用程式池進程意外終止 0x80:桌面堆耗盡與 System32 ACL 導致的雙重根因

編輯:關於伺服器

錯誤事件:

事件 ID 7034 (W3SVC):為應用程式池 'XXX' 提供服務的進程意外終止。進程 ID 'XXXX'。進程退出代碼 '0x80'。

根因一:桌面堆耗盡 (官方文檔方向)

每個應用程式池身分建立獨立桌面物件,消耗桌面堆。預設約支援 60 個池,超過則無法建立新進程。

註冊表修復

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters
新建 DWORD: UseSharedWPDesktop = 1
# 所有 Worker Process 共享單一桌面,突破 60 池限制,支援數百池
重啟 IIS 生效

根因二:System32 目錄 ACL 錯誤 (實戰發現)

調整 C:\Windows\System32 權限時誤移除 Users 群組的 讀取與執行、列出資料夾內容 權限,導致 Worker Process (以 ApplicationPoolIdentity 執行) 無法載入核心 DLL,進程啟動即崩潰 (0x80 = 存取被拒)。

修復步驟

  1. 右鍵 C:\Windows\System32 → 「屬性」 → 「安全性」
  2. 編輯 → 新增 Users (或 Authenticated Users)
  3. 授予:讀取與執行、列出資料夾內容、讀取
  4. 確定,iisreset 重啟

驗證與預防

  • 事件日誌不再出現 7034/0x80
  • 應用程式池狀態持續「已啟動」
  • 權限變更納入變更管理,禁止直接編輯 System32 ACL
  • 監控應用程式池進程數、桌面堆使用量 (Performance Counter: Desktop Heap)
Windows 權限模型極其敏感,System32 目錄 ACL 任何誤操作均可能導致系統服務大面積崩潰。任何權限調整必須在測試環境驗證後方可上線。
Copyright © Windows教程網 All Rights Reserved