在Windows XP下限制由一个svchost.exe托管的服务?

在Windows XP下限制由一个svchost.exe托管的服务?

是否有注册表设置或其他东西来限制在单个进程中运行的单个服务的数量进程管理器过程?

我知道该WIN32_SHARE_PROCESS标志和sc应用程序可以让单个服务在自己的进程中运行,但我不希望进程的开销每个数十种服务。理想情况下,我希望看到来自自动更新通过 Workstation,当前由单个进程托管的任务可以在三到五个进程之间共享。

答案1

您可以通过修改注册表项来控制将哪些服务捆绑到单个 svchost 进程中HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion/SvcHost。您将修改值,每个值都包含在其中运行的服务列表(例如 netsvcs)。

关于此问题,网上还有更多相关信息,其中大部分与 Conficker 蠕虫及其清理有关。这些信息基于与以下问题相关的研究:我必须手动清除一些恶意软件服务的痕迹的情况。

使用其他资源/信息进行更新:目前还没有太多的信息,我还没有尝试过,但我之前在研究过程中发现的最有用的信息是:

答案2

这样做你不会注意到性能有任何改善...

如果您想按需启动某些服务,请将它们设置为手动启动,Windows 将在尝试访问时启动该服务。

如果您想了解哪些服务导致了性能问题,请尝试启动命令提示符并使用此命令: C:\>tasklist /svc /FI "IMAGENAME eq svchost.exe"

这将显示所有 svchost.exe 实例、每个进程中运行的服务以及 PID(进程 ID)。

一旦知道了 PID,您就可以启动任务管理器(Ctrl+Alt+Del),然后在Processes选项卡中转到View > Select Columns...并选择显示 PID。

然后您就会知道哪个 svchost.exe 导致了您的性能问题,并且您可以将 PID 交叉引用到在该 svchost.exe 实例中运行的服务列表中。

希望这有助于解决您的问题的根本原因。

相关内容