2007年6月7日 星期四

spoolsv.exe 佔用 CPU 100% 的解決方法

  spoolsv.exe不是木馬,而是windows下和列印功能相關的一個程式。不過有時這個程式會佔去CPU大部分的資源,使得電腦中其它程式的執行速度大幅下降。這個問題對使用者來說是個相當糟糕的,今天不巧也遇到了這個問題。



  由於這個process是由system所產生出來的,因此即使在windows工作管理員中kill掉這個process,不久後系統又會重新產生,也是一樣佔用100%的CPU資源,這個問題實在令人不勝其擾


  還好在google發現這篇文章〈spoolsv.exe 佔用cpu 100%的解決方法〉,這篇文章清楚的說明了這種情形發生時該如何解決。而解決的方法其實相當簡單,以下是該篇文章中的解釋:


解決方法其實很簡單,假設你已經使用了殺毒軟件排除了病毒和已經使用防間諜軟件排除了惡意軟件的影響:只要清空C:\WINDOWS\system32\spool\PRINTERS目錄下所有的文件即可。


  之後記得重新開機即可,就是這樣。


May 1, 2008 附注:
  由於這篇文章引起不少朋友們的注意,今天再把原連結文章重新整理一次以方便到這邊的朋友們。文章所提的方法經試用後,的確是方便又有效的解決方案,提供大家參考。


  造成這種現象的原因在Microsoft的網站上也有文件說明,以下是文件中所列的解決方法(此方法即為前文所提的方法):


  Windows 的多工緩衝列印程序沒有刪除列印作業的多工緩衝文件,導致列印程序可能會反覆地嘗試對該列印作業進行多工緩衝處理。為避免發生此問題,請不要在列印文件在其多工緩衝文件位於%Systemroot%\System32\Spool\Printers中的時候,更改它的屬性。


要解決此問題:

  1. 請取消唯讀(read only)屬性
  2. 取消唯讀屬性的步驟
    1. 請右鍵點選Windows檔案總管或我的電腦中的多工緩衝文件,點選「內容」
    2. 清除唯讀核取方塊(讓它呈現未打勾的狀態)
    3. 點選「確定」
  3. 將該多工緩衝文件從%Systemroot%\System32\Spool\Printers文件夾中刪除


注1:%Systemroot%即為Windows的安裝路徑。
若Windows安裝於C:\Windows,則%Systemroot%即為C:\Windows。%Systemroot%是一個Windows的系統環境變數。


注2:關於如何在Windows 2000中刪除文件的更多資訊,請點選「開始」,點選「說明與支援」,點選「索引選項」,輸入「刪除」,然後點兩下「刪除文件主題」。


另外一個解決反覆出現spoolsv.exe這個問題的方法


印表機有個多工緩衝管理的選項可以控制,啟動該服務。

操作步驟

  1. 依循「我的電腦」 ->「控制台」 -> 「系統管理工具」 -> 「服務」 -> 找到名稱為「PRINT SPOOLER」的服務 -> 啟動該服務
  2. 開啟控制台的印表機項目,右鍵開啟「印表機內容」
  3. 選擇「進階」
  4. 把「使用多工緩衝列印文件以加速列印」改為「直接列印到印表機」即可
Plurk this!