[英]Alert when CPU usage stays over a limit for a period of time
我有一台Windows 2003 Server,我需要编写一项服务,当cpu的使用率超过90%超过5分钟时,它将向我发送电子邮件。 我该怎么办?
首先,您将读取处理器负载,例如:
其次,您必须使用一个计时器,该计时器在一定间隔内检查处理器时间。 当我们通话5分钟时,.Net的标准Timer足够精确。 时间间隔可能约为几秒钟。 在Tick上,测量CPU,如果它低于90%,则重置一些start-DateTime,如果它超过90%,则检查start-DateTime是否超过5分钟。
最后,您需要发送这样的邮件:
这种方式使用的是SMTP服务器,您可以在本地安装它,也可以为其中的一封电子邮件等安装适当的SMTP。还可以发送邮件而不会增加开销。 搜索Stackoverflow :)
您的Windows服务将需要以类似于这种方式的方式来调用WMI,并确定是否通知您。
以适当的时间间隔读取适当的性能计数器。 如果收集的数据符合您的条件,请执行所需的操作。
使用性能监视器的警报(包括启动应用程序)之类的工具已经可以完成许多类似的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.