规则 ID |
TODO |
类别 |
分析工具使用 |
分析方法 |
采样 |
消息 |
测量发现内核模式 CPU 时间相对较长。 请考虑在启用 SysCall 采样后对源进行调查。 |
规则类型 |
信息 |
在使用采样、.NET 内存或资源争用方法进行分析时,必须收集至少 10 个样本才能触发此规则。
原因
在内核模式下执行所用的那部分 CPU 时间超出了在用户模式下执行所用的时间。 请考虑重新进行分析并对系统调用 (syscalls) 数采样,以确定内核模式执行时间长的原因。
规则说明
如果应用程序在内核模式下执行所花费的那部分时间相对较长,则可能需要做进一步调查。 用户模式应用程序可以转换为内核模式以执行 I/O 操作、等待线程或进程同步基元或执行系统调用。 在您基于系统调用选择选项来收集样本调用堆栈时,可以调查应用程序执行的系统调用的种类以及负责执行这些调用的函数。
如何解决冲突
若要调查应用程序所执行的系统调用的种类,请再次运行分析并基于系统调用选择选项来收集样本。 如果您正在 IDE 内部运行分析工具,请参见如何:选择采样事件获得更多信息。 如果您正在从命令行运行分析工具,请参见分析工具命令行工具参考中 VSPerfCmd 主题的Sampling Interval Options一节。