有没有一个registry设置或限制在单个svchost.exe进程内运行的单个服务的数量?
我知道WIN32_SHARE_PROCESS标志和sc应用程序能够使各个服务在自己的进程中运行,但是我不想为几十个服务中的每个服务开销一个进程。 理想情况下,我希望通过Workstation 自动更新提供的30个服务由三个到五个进程共享。
您可以通过修改HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion/SvcHost的registry项来控制将哪些服务捆绑到一个svchost进程中。 您将修改这些值,每个值都包含在其中运行的服务的列表(例如netsvcs)。
还有一些关于这方面的信息,其中大部分与Conficker蠕虫相关,并在之后进行清理。 这是基于研究有关的情况下,我不得不手动清除一些恶意软件服务的痕迹。
更新其他资源/信息:这里没有太多的信息,我还没有尝试过,但是我在研究之前发现的最有用的信息是:
这样做你不会注意到任何性能的改善…
如果您想按需启动某些服务,请将其设置为“手动启动”,Windows将在尝试访问时启动该服务。
如果您想要查看导致性能问题的服务,请尝试启动命令提示符并使用以下命令: C:\>tasklist /svc /FI "IMAGENAME eq svchost.exe"
这将显示所有svchost.exe实例,每个进程中运行的服务以及PID(进程ID)。
一旦你知道了PID,你可以启动任务pipe理器(Ctrl+Alt+Del) ,在Processes选项卡中转到View > Select Columns...并select显示PID。
然后你会知道哪个svchost.exe导致你的性能问题,并且你可以交叉引用PID到你在svchost.exe实例中运行的服务列表。
希望这有助于解决您的问题的根本原因。