私たちには、SQL Serverを備えたMS Access 2003 ADPアプリケーションがあります。明白な理由がなくても、このアプリケーションは100%のCPU時間(デュアルコアCPUシステムでは50%)を消費し始めます。とにかくこれはWindowsタスクマネージャと他のプロセス監視/分析ツールが表示しているものです。通常、このようなCPUスラッシングを止める唯一の方法は、アプリケーションを再起動することです。MSアクセス:100%CPU使用率
私たちは依然としてこの問題をどのように引き起こすかわかりません。しかし、私は、フォームのいくつかがユーザーによって閉じられると、通常は起こると感じています。
NB:最近、フォームの1つが最小化されるたびにCPU使用率を一貫して100%に引き上げることに気付きました。ほとんどの場合、そのフォームが「最小化されていない」とき、CPU使用率は正常に戻ります。おそらく、それは別の問題ですが、この謎を解き明かしたいと思います。 :)
この問題を解決するためのグーグルでは、非常に良い結果が得られませんでした。最も頻繁な理論は、ループを実行しているスレッドが非常に低い優先度を持つため、MS Accessが事実上無害でパフォーマンスに優れた何らかの待ちイベントループに入るということです。これは、我々のケースでは(a)システムのパフォーマンスを傷つけることは確かであり、(b)Accessがそのような「悪い状態」に陥るのはどういうものか、それを回避する方法はまだ不明であるからです。
もちろん、VBAはレビューされています。無罪。 :) – Yarik