web-dev-qa-db-ja.com

100%のCPU使用率が維持されるのはいつですか?

当店で行われている議論を洗練するのを手伝ってください。

次のシナリオを考えてみましょう。いくつかのアプリとサービスを実行しているMicrosoftVPCがあります(Windows 2003サーバー)。サーバーには2つまたは3つの重要な役割があります。時々、CPU使用率は持続的に100%になります。これの原因の1つはレガシーアプリケーションであり、現時点での唯一の実際の解決策はサービスを再起動することです。この後、CPU使用率は妥当な値(平均で60〜80%)に戻ります。ただし、サーバーのCPUが100%の場合、ログを解析するセキュリティアプリケーションであるライオンズシェアを別のサービスが使用しているように見えることはめったにありません。私たちの運用チームの衝動は、CPUが固定されたときにそれも再起動することです。このサービスはBelowNormalの優先度で実行されているため、セキュリティチームはこれは無意味であり、他のCPUプロセスを実質的に奪うことはないと指摘しています。セキュリティは、これらの場合の100%のCPU使用率は、実際には重大な状態と見なされるべきではないと主張しています。以下の優先度プロセスがCPUの大部分を使用している場合、実際にはCPUの不足はまったくありません。一方、操作は、100%のCPU使用率が実際には悪影響のない状態である可能性があることに懐疑的であり、それを無視したくありません。誰が正しいですか?心配する必要のないセキュリティや、何かをすべきオペレーションは正しいのでしょうか。

6
Eldergriffon

このような場合は、タスクマネージャーを超えて、%CPU使用率を確認する必要があります。何かがパフォーマンスに悪影響を及ぼしているかどうかはわかりません。このような場合、次のステップはパフォーマンスモニターを使用してSystem\Processor Queue Length。これは、プロセスがCPUがアイドル状態になるのを待っているかどうかを示し、パフォーマンスに影響を与える可能性があります。これは、Unixのtopまたはloadコマンドに表示されるものと似ています。

この記事 これらの問題をトラブルシューティングするときに確認するパフォーマンスメトリックの適切な説明があります。元々はNT4用でしたが、新しいバージョンにも適用されます。

これは、CPUのパフォーマンスの問題を突き止める方法について話しているWindowsパフォーマンスチームの 最近の記事 です。

7
Doug Luxem

CPU%をどのように測定していますか?これが仮想マシンの場合、Perfmonは常に正確な結果を提供するとは限りません。スパイクがホストマシンのアクティビティに関連している可能性はありますか?ウイルススキャン、自動アップデータ、その他多くのことがゲストVMに影響を与え、VMの観点からは100%CPUのように見える可能性があります。これは、はるかに小さいCPUスライスの100%である可能性があります。

2
SqlACID

大量のログデータを処理することは、CPUを固定する必要があります。そうでない場合は、プロセスがバインドされている可能性がありますIOバインドされています。処理が完了したときにメーターがダウンする限り(そして、ペグされたときにマシンが他の義務に合理的に応答する限り)、それは何もありません心配する。

1
Chris Nava