DA0026: 過剰なカーネル CPU 処理時間。DA0026: Excessive kernel CPU time processing

規則 IDRule Id TODOTODO
カテゴリCategory プロファイリング ツールの使用Profiling Tools Usage
プロファイル方法Profiling method サンプリングSampling
メッセージMessage 比較的高いカーネル モード CPU 時間が計測されました。Relatively high amount of kernel mode CPU time was measured. SysCall サンプリングを有効にし、原因を調査することを検討してください。Consider investigating the source with SysCall sampling enabled.
規則の種類Rule type 情報Information

サンプリング、.NET メモリ、またはリソース競合メソッドを使用してプロファイリングを行うときは、この規則を呼び出すためのサンプルを少なくとも 10 個収集する必要があります。When you profile by using the sampling, .NET memory, or resource contention methods, you must collect at least 10 samples to trigger this rule.

原因Cause

カーネル モードで実行された CPU 時間の割合が、ユーザー モードで費やされた時間数を超えました。The proportion CPU time that was executed in kernel mode exceeded the amount of time spent in user mode. カーネル モードの実行時間が長い原因を判断するために、プロファイリングを再度実行し、システム コール (syscalls) の数をサンプリングすることを検討してください。Consider profiling again and sampling the number of system calls (syscalls) to determine the cause of the high kernel mode execution times.

規則の説明Rule Description

カーネル モードでの実行中にアプリケーションの処理時間が比較的長くなっている場合は、さらに調査が必要になることがあります。The relatively high proportion of time the application spent in kernel mode execution may warrant further investigation. ユーザー モードのアプリケーションは、I/O 操作の実行、スレッドまたはプロセスの同期プリミティブの待機、またはシステム コールを実行するために、カーネル モードに遷移します。A user-mode application transitions into kernel mode to perform I/O operations, to wait for thread or process synchronization primitives, or do system calls. システム コールに基づいてサンプルの呼び出し履歴を収集するオプションを選択する際に、アプリケーションが実行するシステム コールの種類とそのシステム コールを処理する関数を調べることができます。You can investigate the kinds of system calls the application makes and which functions that are responsible for them when you select the option to gather sample call stacks based on System calls.

違反の修正方法How to Fix Violations

アプリケーションが実行するシステム コールを調べるには、プロファイルを再度実行し、システム コールに基づいてサンプルを収集するオプションを選択します。To investigate the kinds of system calls that your application makes, run the profile again and select the option to gather samples based on system calls. IDE 内でプロファイリング ツールを実行する場合の詳細については、「方法 : サンプリング イベントを選択する」を参照してください。See How to: Choose Sampling Events if you are running the profiling tools inside the IDE for more information. コマンド ラインからプロファイリング ツールを実行する場合の詳細については、コマンド ライン プロファイリング ツール リファレンスのトピック、「VSPerfCmd」の「サンプリング間隔オプション」のセクションを参照してください。If you are running the profiling tools from the command line, see the Sampling Interval Options section of the VSPerfCmd topic in the Profiling Tools command line tools reference.