如何解决高内核时间?

我在CPU上的内核时间非常高,如任务pipe理器中所示。

有什么方法可以解决这个问题?

在这里输入图像描述

准确找出使用内核时间的工具是kernrate.exe。 它附带了Windows SDK / WDK Visual Studio等

此外,Xperf也可以执行相同的内核轮询/跟踪以及…可能更容易使用。 Kernrate是一种野兽。

这可能比你想象的更容易。 如果您拥有一致的高系统使用率,Process Explorer将提供一个可用于System进程的线程选项卡(进程ID:4)。 应该显示违规的模块和function。

在这里输入图像描述

如果您需要收集经验数据来分析问题的正式工具,则可以使用Windows性能logging器/ Windows性能分析器,它是Windows性能工具包的一部分。

https://blogs.technet.com/b/yongrhee/archive/2012/11/23/installing-the-windows-performance-toolkit-v5-0-wprui-wpr-xperf.aspx

https://blogs.technet.com/b/yongrhee/archive/2012/11/23/wpr-xperf-capture-high-cpu-disk-io-file-registry-networking-private-bytes-virtual-bytes-分页池,非分页池和-或-应用- slowness.aspx

我自己的问题是内核消耗高达50%的CPU,而其他进程占了剩下的40%。 这个问题是由于没有正确地禁用和卸载Trend AV造成的。

即使服务已停止,实时扫描已禁用,内核微型filter似乎已启用。 我推断他们正在耗费核心时间,我正确地卸载了软件之后,发现核心时间减less到之前的负载的十分之一。

要查看系统上的filter列表,请键入

C:\Users\TEMP>fltmc filters Filter Name Num Instances Altitude Frame ------------------------------ ------------- ------------ ----- TmPreFilter 3 328500 0 luafv 1 135000 0 

微软在这里有第三方filter列表 。 根据该电子表格,TmPreFilter是一台AV扫描仪Trend Micro。

用鼻子Process Monitor和DiskMon(Microsoft SysInternals)来看看机器在做什么。 一个常见的罪魁祸首,除了狡猾的设备驱动程序,是旧的寻呼。