c# - 当 CPU 使用率在一段时间内超过限制时发出警报

标签 c#

我有一个 Windows 2003 Server,我需要编写一个服务,当 cpu 使用率保持在 90% 以上超过 5 分钟时,该服务会向我发送电子邮件。我怎样才能做到这一点?

最佳答案

首先,您将读取处理器负载,如下所示:

How to get the CPU Usage in C#?

其次,您必须使用一个计时器来以某个时间间隔检查处理器时间。当我们谈论 5 分钟时,.Net 的标准计时器已经足够精确了。间隔可能大约是几秒钟。在 Tick 上,您测量 CPU,如果它低于 90%,则重置一些开始日期时间,如果它超过 90%,则检查开始日期时间是否超过 5 分钟。

最后您需要发送这样的邮件:

Sending E-mail using C#

这种方式使用 SMTP 服务器,您可以在本地安装该服务器,或者您可以为您的一封电子邮件等正确设置 SMTP。您还可以发送邮件,而不会产生更多开销。在 Stackoverflow 中搜索:)

关于c# - 当 CPU 使用率在一段时间内超过限制时发出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3404246/

相关文章:

c# - Windows.Forms Application.Run() 中无法追踪的异常

c# - HtmlAgilitypack 枚举所有类

c# - 使用NAudio和ASIO播放32位音频

c# - double 有没有可能比 float 快 2 倍?

c# - 在 C# 中使用位掩码

c# - 为什么我不能通过索引访问 KeyedCollection 项目?

C# MS Exchange 将电子邮件移动到文件夹

c# - 当使用在命名空间内部而不是外部时,无法通过反射找到类。为什么?

c# - 如何使用 Microsoft.Win32.Registry.OpenSubKey 直接转到特定键?

c# - 无法将外部引用与 C# 控制台应用程序一起使用