今天客戶一台電腦遇到了奇怪的問題:整個電腦變得很慢,一進工作管理員去看,全部的CPU資源都被SPOOLSV這個執行緒佔用了,CPU使用率一直在100%,就算手動把這個處理程序結束掉,等一下子還是會自動再開出這個程序,一樣又卡住了。剛開始以為是中毒了,但是小紅傘防毒沒叫,手動檢查也沒發現可疑的檔案!

趕快上網找到了微軟官方論壇連到這一篇KB:列印伺服器變得緩慢或有太多的具名管道連線從 Windows XP 的電腦看了一下沒用的資訊,因為問題已經在Windows XP Service Pack 2 中修正了,但是由當中得到一個靈感:

沒錯spoolsv.exe就是在管印表機的列印佇列的程式,莫非印表機有什麼不正常?於是開啟控制台印表機,發現其中有一台「Microsoft Office Document Image Writer」有文件列印不出去,所以就佔用了CPU的資源了,把這個列印佇列刪除之後,系統就恢復正常了。

可能的原因:微軟這一台印表機是你安裝了Office 2003之後就會自動新增的,它的目的是讓你將任何型式的資料轉換成Word可以讀取的格式「.tif」(有一點類似螢幕抓圖的功能),而一般當你選擇列印到這台印表機時,會出現一個存檔的視窗讓你轉成tif檔,可是在這台出問題的電腦竟然將這台印表機「分享」出去!也就是說可能是在內部網路上的別台電腦將資料印到這台印表機,所以才會印不出去而卡在這裡,所以重點就是「請不要分享Microsoft Office Document Image Writer這台印表機」,否則就有可能有類似的情形,另外如果你有spoolsv.exe佔用CPU的情形,請先檢查一下印表機的列印佇列吧。