基于负载closuresWindows服务

我想知道是否有任何免费/开源的解决scheme,将启动和停止基于负载的Windows服务? 我有一些pubsub订阅服务,做后台工作并不重要。 理想情况下,我希望能够自动化事情,以便这些服务可以启动,如果内存/ CPU /磁盘I / O是在一定的门槛,并停止优雅,如果该阈值得到满足。 你知道任何解决scheme吗? 谢谢JP

有一些内置于Windows的软件,称为Windows系统资源pipe理器 (WSRM),它将根据您的需要执行所需的任务,即基于资源的优先级服务。

显然不是开源的,但随操作系统。

我不知道有一个外部工具,但是如果性能计数器你认为是相关的超过阈值的话,你可以监视你的服务中的相关性能计数器,并且不做任何工作(睡眠一段时间)。 这与停止服务(它仍然驻留在内存中)并不完全相同,但是应该达到期望的目的。

这种方法的一个好处是,您不必担心设置和configuration外部工具,或者监视外部工具是否仍在工作。

你可以设置一个警报,可以运行在固定的阈值(比如说CPU> = 75)在这里设置一个警报窗口是一个链接http://support.microsoft.com/kb/324752

所以你可以设置一个条件CPU Usage> = 75%的警报,并作为你可以使用的命令行

net stop svcName 

这会停止名为svcName的服务。

您可以将另一个警报定义为相反的CPU使用率<70%,并且可以使用您的命令行

  net start svcName 

当你跌到门槛以下。

我在打开和closures之间保留了5%的保证金,虽然您可以创build一个batch file来延迟启动和停止服务的频率。

希望这可以帮助