
原因分析:
我們還是先從單核CPU的角度來說這個問題。一個CPU同一時間其實只能處理一條指令。但實際上我們在使用計算機(jī)時可能會處理多個工作,比如同時在瀏覽網(wǎng)頁,聽音樂等等。
此時,CPU是劃分成多個時間片,分別來處理這些事務(wù)。比如每個人物花費(fèi)1ms的時間去進(jìn)行處理,那這里就要引入一個中斷的概念,也就是說當(dāng)1個事務(wù)還未完全處理時,如果其分配的時間片用完或者有高優(yōu)先級程序需要搶先運(yùn)行,那么就會通過中斷機(jī)制,暫停前一個進(jìn)程的運(yùn)行,空出資源運(yùn)行下一個進(jìn)程。
這就是中斷進(jìn)程的功能。如果你所運(yùn)行的程序都是對實時性要求比較高,或者互相之間會爭搶優(yōu)先級的話,就可能導(dǎo)致中斷進(jìn)程占用資源上升,特別是當(dāng)程序之間有沖突等情況的話,該項資源可能所占據(jù)的資源會更高。
解決方法:
所謂“系統(tǒng)中斷”可以理解為系統(tǒng)命令自相矛盾陷入死循環(huán)了,你看下“系統(tǒng)中斷”占用CPU大的時候CPU頻率是不是幾乎100%了?而且你剛開機(jī)是不會的,就是某個時間開始出現(xiàn),只要不重啟,注銷用戶也沒用。
出現(xiàn)這個問題,是因為你改動了電源計劃配置,比如在編輯計劃設(shè)置那里,你選了計算機(jī)進(jìn)入睡眠狀態(tài)為“從不”,然后你又在更改高級電源設(shè)置那里,在此時間后休眠這一選項,填了具體的分鐘數(shù),比如“360分鐘”,這樣開機(jī)滿6小時的時候,這邊說要休眠,那邊說從不睡眠,就進(jìn)入”系統(tǒng)中斷“自相矛盾了,也可以理解為Win7的Bug之一。
解決辦法就是恢復(fù)電源選項的默認(rèn)設(shè)置,或者,如果你選了計算機(jī)進(jìn)入睡眠狀態(tài)為“從不”,高級設(shè)置的休眠時間那里填上“0”分鐘(0分鐘=從不休眠),這樣就不沖突了。
所以一些系統(tǒng)設(shè)置導(dǎo)致的系統(tǒng)陷入死循環(huán)很有可能會導(dǎo)致系統(tǒng)中斷占用很高的CPU,如果遇到的朋友不妨檢查一下是不不上述的設(shè)置影響到你的電腦。
有興趣的可以再驗證一下:從不睡眠,然后高級選項休眠時間那里填“5”分鐘,包你5分鐘后出現(xiàn)“系統(tǒng)中斷”占用CPU急劇上升。