WindowsサービスでホストされているWCFサービスがあります。昨日、私はタスクマネージャーを見て、私のWindowsサービスプロセスのCPU時間が5時間以上で、他のすべてのプロセスの大半が0であることに気づいた。タスクマネージャのCPU時間は正確に何ですか?
それはどういう意味ですか?
CPU時間が5時間以上になるかどうか検討してください。
WindowsサービスでホストされているWCFサービスがあります。昨日、私はタスクマネージャーを見て、私のWindowsサービスプロセスのCPU時間が5時間以上で、他のすべてのプロセスの大半が0であることに気づいた。タスクマネージャのCPU時間は正確に何ですか?
それはどういう意味ですか?
CPU時間が5時間以上になるかどうか検討してください。
CPU時間は、プログラムがCPU内で命令を実行するのに費やす時間と、IOやその他のリソースを待っている時間を反映しています。あなたはそれが5時間以上あることに気をつけなければなりませんか?
私は、考慮すべきいくつかのものがありません推測:
はどのくらいの期間、このプロセスが実行されていますか?
これはCPUを盗んでいる可能性のあるプロセスや他のプロセスのパフォーマンスに問題がありますか?
他にどのようなプロセスがありますか? CPUを使用する予定のアクティブなプロセスですか? 80プロセスを参照するために、私は約20のCPU時間を1秒以上使用しています。
編集
それは、WCFサービスが他のサービスからCPUを盗んでいる可能性があり、あなたは彼らのパフォーマンスは、あなたが期待するものであることを確認すること、それらを監視する必要があります。 CPU使用率の合計に基づいて感覚を得ることもできます。たとえば、使用しているCPUの25%しか使用していない場合、他のサービスには影響しません。しかし、あなたが75%を超えて走っていると、影響を受ける可能性があります。
モニタリングに関しては、パフォーマンスの傾向がどのようになっているかを見ることができ、問題を特定するのに役立ちます。たとえば、サービスは正常に実行されていますが、デプロイ後はゆっくりとCPUが増え始めます(週に10%を想定します)。 CPU使用率の傾向が変わらない限り、ある日起きてサービスがゆっくりと実行されるのを見て、展開後数週間かかる可能性があります。
CPU timeは、プロセスが開始されて以来、プロセスが使用していることをどのくらいの処理時間の指標である(Windowsでは:Technet articleへのリンク)
それは基本的にして算出される:
CPU Time of Process = Process Uptime * CPU Utilization of Process
たとえば、プロセスが5時間実行され、CPU時間が5時間の場合、プロセスがCPUのリソースの100%を使用していたことを意味します。これは、リソース消費を低く抑えたいのか、システム全体のパワーを利用したいのかによって、良いか悪いかのどちらかになります。
プロセスがCPUのリソースの50%を使用し、10時間稼働していた場合、CPU時間は5時間になります。
プロセスが使用しているCPU時間の量が不安な場合は、perfmonを使用して、問題があるかどうかを判断するためにプロセスのCPU使用率を長時間追跡する必要があります。
タスクマネージャのCPU時間はどのくらいですか?
答えは簡単である:それは起動してから
合計プロセッサ時間は、秒単位で、プロセスで使用されます。
分です。 CPUが長時間稼働していてCPUの処理が遅かったのを混乱させないでください。CPU時間が時間:分で、プロセスを開始してから実際の時間よりも長いと思ったのです。おっとっと。 – yoyo
このプロセスは約3週間実行されていました。それは昨夜再開され、CPU時間は現在31秒です。 パフォーマンスに関する問題は認識されていません。これらのWCFサービスを使用するWebサイトは非常に高速です。 IISの同じボックスにいくつかのSOAP Webサービスがホストされているため、WCFプロセスがCPUを盗んで他のWebサービスのパフォーマンスに影響を及ぼす可能性があります。 –
504時間(3週間* 7日/週* 24時間/日)を実行していたプロセスでは、5時間のCPU時間を要しました。単純化すると、平均して、プロセスはCPU全体の1%を使用しています。現実にはそうではありません。あなたのサービスは0%近くのCPUを使用していて、他の時間はかなり多く使用しています。私は心配する必要はないと言いますが、懸念される場合は、「perfmon」を使用してCPU使用率のプロセスを追跡し、問題があるかどうかを判断する必要があります。 –