針對來信說明之登錄檔記憶體空間不足的狀況,該狀況可能發生在開機過程中,系統透過API把登錄檔Mapping進記憶體時,登錄檔過大記憶體不足而導致錯誤產生,雖然惡意程式可以做到將登錄檔塞滿這類的行為,但就筆者的經驗來看這類的情況由於可獲取之利益不大,相對利用於攻擊之情況也較為罕見。
來信敘述中已針對此狀況嘗試刪除不常用軟體、清理登錄檔之後狀況仍存在,需要先瞭解到的是程式在刪除過程中,若Uninstaller並未編寫將Registry Code刪除之部份的話,一般而言該程式安裝時寫入之Registry Code是不會因此被刪去,清除登錄檔的部份,若已使用目前市面上可用之優化工具(如CCleaner)清除過登錄檔,仍出現此狀況的話,由於Windows Vista之後的版本當系統在Mapping Registry檔案時是採分段進行,因此比較不會有此類的問題,因此推測來信者使用之系統版本可能為較舊之Windows XP或是Windows Server 2000、2003,上述所提之較舊版本的系統做法是一次將檔案全部Mapping至記憶體中,故系統記憶體不足時較可能發生此狀況。
建議可依照TechNet上的文章How to troubleshoot: Windows – Low On Registry Space一文來排除此問題。
http://blogs.technet.com/b/yongrhee/archive/2009/07/24/how-to-troubleshoot-windows-low-on-registry-space-the-system-has-reached-the-maximum-size-allowed-for-the-system-part-of-the-registry-additional-storage-requests-will-be-ignored.aspx