我們有一個帶有SQL Server的MS Access 2003 ADP應用程序。有時,沒有任何明顯的原因,此應用程序開始佔用100%的CPU時間(雙核CPU系統上佔50%)。無論如何,這是Windows任務管理器和其他過程監視/分析工具正在顯示的內容。通常,停止這種CPU抖動的唯一方法是重新啓動應用程序。MS Access:100%CPU使用率
我們仍然不知道如何隨意觸發這個問題。但我有一種感覺,當用戶關閉某些表單時,通常會發生這種情況。
注意:最近我們注意到一種形式一直使CPU使用率在最小化時提高到100%。大多數情況下,當表單處於「未最小化」狀態時,CPU使用率會恢復正常。也許,這是一個不同的問題,但我們也想揭開這個謎團。 :)
谷歌搜索這個問題的解決方案並沒有產生很好的結果。最常見的理論是MS Access進入某種等待事件循環,這在實際上是無害的,性能明智的,因爲運行該循環的線程具有非常低的優先級。這對我們來說似乎沒有什麼幫助,因爲在我們的情況下(a)肯定會損害系統的性能,以及(b)究竟是什麼讓Access進入這種「不良狀態」以及如何避免這種情況仍然不清楚。
當然,VBA已被審查。無罪。 :) – Yarik