我们有一个带有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