2011-10-18 21 views
0

私たちには、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がそのような「悪い状態」に陥るのはどういうものか、それを回避する方法はまだ不明であるからです。

答えて

1

これまではこのCPU使用率の問題を抱えていましたが、解決策が見つかったのか、まったく離れてしまったのか分かりません。

あなたの記事では、VBAのレビューについては言及していませんでした。私は、特定の条件下で無限ループになるループを探すことをお勧めします。

+0

もちろん、VBAはレビューされています。無罪。 :) – Yarik

1

私はそれが記事なくなり、「古い」日

http://support.microsoft.com/kb/160819

に持って使用されるアクセスこの問題から二日酔いであれば、それはそれはまだ可能性がありますバージョン> = 2000に固定されていると言うんだろう何かになる

+0

これは私がすでにこの質問をする前に見つけた記事の1つです。この記事では、「アイドル時間」の最初の20〜30秒間にのみこれを実行し、他のプロセスのパフォーマンスに実際には影響しないので、AccessがCPUを能動的にポーリングしているため、CPUを抑制します。我々のケースでは、それらの説明/症状のどちらも適用されないようです。それは非常によく古い問題の "新しいバージョン"かもしれませんが... :) – Yarik

関連する問題