我在CPU上的内核时间非常高,如任务pipe理器中所示。
有什么方法可以解决这个问题?
准确找出使用内核时间的工具是kernrate.exe。 它附带了Windows SDK / WDK Visual Studio等
此外,Xperf也可以执行相同的内核轮询/跟踪以及…可能更容易使用。 Kernrate是一种野兽。
这可能比你想象的更容易。 如果您拥有一致的高系统使用率,Process Explorer将提供一个可用于System进程的线程选项卡(进程ID:4)。 应该显示违规的模块和function。
如果您需要收集经验数据来分析问题的正式工具,则可以使用Windows性能logging器/ Windows性能分析器,它是Windows性能工具包的一部分。
我自己的问题是内核消耗高达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)来看看机器在做什么。 一个常见的罪魁祸首,除了狡猾的设备驱动程序,是旧的寻呼。