我有一个客户请求编写一个软件(控制台应用程序或服务),它将在服务器上运行并监控一般性能(cpu 使用情况、内存使用情况和磁盘使用情况)并报告任何长时间的高使用情况。
这在 C#/.NET 中可行吗?
我有一个客户请求编写一个软件(控制台应用程序或服务),它将在服务器上运行并监控一般性能(cpu 使用情况、内存使用情况和磁盘使用情况)并报告任何长时间的高使用情况。
这在 C#/.NET 中可行吗?
您可以使用System.Management
命名空间来发出WMI查询并报告结果。
提供对一组丰富的管理信息和管理事件的访问,这些管理信息和管理事件与检测到 Windows Management Instrumentation (WMI) 基础结构的系统、设备和应用程序有关。应用程序和服务可以使用从 ManagementObjectSearcher 和 ManagementQuery 派生的类来查询有趣的管理信息(例如磁盘上剩余多少可用空间、当前 CPU 利用率是多少、某个应用程序连接到哪个数据库等等) ,或使用 ManagementEventWatcher 类订阅各种管理事件。可访问的数据可以来自分布式环境中的托管和非托管组件。
另请参阅此 MSDN 杂志文章: