Windows services 监视单个窗口服务的性能

Windows services 监视单个窗口服务的性能,windows-services,performance,Windows Services,Performance,我有7个windows服务。我想监控各个服务的性能,如处理器使用情况、内存使用情况等 如果我使用perfmon,它将为整个系统而不是单个服务提供。有谁能建议我如何监控单个服务的性能吗?Perfmon可以监控单个流程!只需在“添加计数器/性能对象”组合中选择流程。对于“快速”监控,我发现Sysinternals(现在的Microsoft)Process Explorer既简单又漂亮。某些服务会为您提供性能信息(通过套接字/文件等提供),这些信息可以通过MRTG或Cacti等工具显示。要检查单个服务

我有7个windows服务。我想监控各个服务的性能,如处理器使用情况、内存使用情况等


如果我使用perfmon,它将为整个系统而不是单个服务提供。有谁能建议我如何监控单个服务的性能吗?

Perfmon可以监控单个流程!只需在“添加计数器/性能对象”组合中选择流程。对于“快速”监控,我发现Sysinternals(现在的Microsoft)Process Explorer既简单又漂亮。某些服务会为您提供性能信息(通过套接字/文件等提供),这些信息可以通过MRTG或Cacti等工具显示。

要检查单个服务的内存,您必须将服务类型更改为“自己的进程”。显示完整的代码。中心思想是尝试将服务类型从最少的侵入方式更改为最具侵入性的方式:

$win32Service=Get cimpinstance-ClassName Win32\u Service-Filter“Name=”$ServiceName'”-Verbose:$false
如果($win32Service)
{
如果(!(将ServiceTypeTownProcessByCIM$win32Service设置为WnProcessByCIM))
{
如果(!(将ServiceTypeTownProcessByWindowsRegistry$win32Service设置为WnProcessByWindowsRegistry))
{
if(将FullControlRightsOnServiceRegistryKeyToCurrentUser$win32Service授予FullControlRightsOnServiceRegistryKeyToCurrentUser)
{
将ServiceTypeToOwnProcessByWindowsRegistry$win32Service设置为空
}
}
}
}
其他的
{
写入警告“[$ServiceName]未找到服务”
}
Set-ServiceTypeToOwnProcess.ps1
Enable Privilege.ps1
文件放在同一文件夹中时,可以执行如下脚本:

\Set-ServiceTypeToOwnProcess.ps1-ServiceName'Appinfo','gpsvc','Schedule','SENS','SessionEnv','Wauserv'

谢谢!!您能告诉我需要在计数器中选择哪些参数来查找内存使用情况和CPU使用情况吗?如果选择“进程”,则必须“从列表中选择实例”(应显示服务名称)和计数器(%处理器时间、虚拟字节、句柄数等)。如果在“添加计数器/性能对象”中选择进程,它没有给出我的服务/流程的所有资源使用情况。例如,它不包括服务的净I/O、内存使用等。我想收集服务/进程在特定时间段内的CPU使用率、内存使用率、净I/O、块I/O。是否有任何工具用于此目的?当您选择“进程”和您的服务作为实例时,您可以添加线程计数、专用字节、IO读取、IO写入等。我看不到单独的网络I/O。