我的一个应用程序有问题.我运行应用程序,一切都很好.当我关闭这个应用程序时,我注意到系统中的一个"svchost"进程占用了大约95-100%的CPU,我必须弄清楚占用了多少CPU周期.
关于如何解决这个问题,我为自己设定了非常简单明了的目标:
- 获取进程信息或这个占用如此多CPU的"svchost"
- 我知道什么是svchost进程,所以我拯救你们努力向我解释它.所以现在我必须知道这个流氓svchost加载了哪些模块.
- 我运行我的应用程序,关闭它并确保我的进程完全关闭,而不是内存.然后我得到了svchost的PID占用了100%的CPU
- 我运行了ProcessExplorer(来自sysinternals),获得了有关此svchost托管的服务数量和信息的信息.他们约有12项服务.我不打扰这个列表,因为我更关心如何识别这12个服务中的哪一个占用了CPU周期.
- 现在我有了我的列表,这里开始了棘手的部分......我想做下面两个选项中的一个
选项1:
如何识别这12个服务中哪一个占用了这么多CPU?我是否可以获得有关此svchost流程的扩展信息,该流程为我提供了有关此流程中托管的"每个服务"的详细信息,我现在在流程基础上提供了哪些信息?
选项2:
是否可以配置窗口使svchost每个svchost实例只运行一个服务?
如果有更好的选择如何调查,缩小这个问题的根本原因,请告诉我.