使用WMI或Perfmon(在.NET中以编程方式)进行监视

贝里尔·威尔逊

我需要开发一个代理Windows服务,该服务将始终仅监视当前安装的计算机中的资源。监视的资源可能是处理器运行状况,SNMP陷阱,SQL Server运行状况。

我发现可以使用WMI或Perfmon在.NET中以编程方式实现此目的。

我不确定使用哪一种。我正在寻找利弊,在哪种情况下我们需要选择每种选择。

凯文

通常,如果“执行”中有可用的计数器,我将从此处开始,但是您至少会同时使用“执行”和WMI。举个例子:

如果要监视计算机上使用的总内存百分比,则可以使用Perfmon计数器“ Memory,Available Kbytes”。我还将通过以下几行使用WMI来获取计算机上的总内存:

new ManagementObjectSearcher("root\\CIMV2", "select * from win32_computersystem")

然后将totalphysicalmemory属性存储到名为totalKBytes的变量中。

现在,每当我要计算使用的内存百分比时,我都会进行一次计算:

(1.0f - (counter.NextValue() / totalKBytes)) * 100.0f

结论是不要为在Perform或WMI之间做出决定而感到困惑。您将至少需要它们。一旦真正开始监视,您可能还会发现自己正在从注册表中读取,运行自定义脚本,读取文件系统等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用C ++以编程方式监视进程状态

来自分类Dev

WMI以编程方式对字符串变量进行转义

来自分类Dev

使用swift以编程方式进行UITableView

来自分类Dev

使用数据注释以编程方式进行验证?

来自分类Dev

如何使用Swift在iOS应用中以编程方式对Parse类中的行进行计数?

来自分类Dev

如何以编程方式(使用PowerShell,WMI等)查找和打开文件夹的先前版本?

来自分类Dev

.Net-当SQL服务器位于另一台VM上时,使用WMI进行远程BizTalk服务器监视

来自分类Dev

如何确定应用程序中在PerfMon中占用100%CPU使用率的线程?

来自分类Dev

使用.net以编程方式启用/禁用LID

来自分类Dev

如何使用C#.NET在AutoCAD中以编程方式拉伸块

来自分类Dev

如何使用C ++获取WMI中的CPU使用率?

来自分类Dev

在节点的REPL中以编程方式使用npm

来自分类Dev

以编程方式复制使用中的文件

来自分类Dev

在节点的REPL中以编程方式使用npm

来自分类Dev

通过WMI使用VBS检测.Net Framework 3.5或更高版本

来自分类Dev

不建议使用WMI:如何现在从.Net Core查询?

来自分类Dev

当我以面向对象的方式使用matplotlib进行编程时,是否可以在Jupyter Notebook中自动完成代码?

来自分类Dev

无法使用类中的方法在Visual Basic.net中以编程方式向Datagridview中添加列

来自分类Dev

以编程方式使用UserToken进行身份验证

来自分类Dev

如何使用ProcessBuilder API以编程方式对jar文件进行签名

来自分类Dev

如何在C ++中的Ubuntu中使用WMI

来自分类Dev

使用Powershell或WMI在IIS中托管的停止/启动服务

来自分类Dev

使用wmi触发NDIS驱动程序中的查询OID

来自分类Dev

使用rsyslog进行监视

来自分类Dev

设置IP和DNS以使用VB.net中WMI的DHCP

来自分类Dev

在Java中以编程方式监视JVM的堆栈区域?

来自分类Dev

如何使用Spring以编程方式使用Rest API中的文件?

来自分类Dev

使用API使用Hashtag在Instagram中以编程方式发送图片

来自分类Dev

如何在EntityFramework Codefirst中以编程方式使用迁移?

Related 相关文章

  1. 1

    使用C ++以编程方式监视进程状态

  2. 2

    WMI以编程方式对字符串变量进行转义

  3. 3

    使用swift以编程方式进行UITableView

  4. 4

    使用数据注释以编程方式进行验证?

  5. 5

    如何使用Swift在iOS应用中以编程方式对Parse类中的行进行计数?

  6. 6

    如何以编程方式(使用PowerShell,WMI等)查找和打开文件夹的先前版本?

  7. 7

    .Net-当SQL服务器位于另一台VM上时,使用WMI进行远程BizTalk服务器监视

  8. 8

    如何确定应用程序中在PerfMon中占用100%CPU使用率的线程?

  9. 9

    使用.net以编程方式启用/禁用LID

  10. 10

    如何使用C#.NET在AutoCAD中以编程方式拉伸块

  11. 11

    如何使用C ++获取WMI中的CPU使用率?

  12. 12

    在节点的REPL中以编程方式使用npm

  13. 13

    以编程方式复制使用中的文件

  14. 14

    在节点的REPL中以编程方式使用npm

  15. 15

    通过WMI使用VBS检测.Net Framework 3.5或更高版本

  16. 16

    不建议使用WMI:如何现在从.Net Core查询?

  17. 17

    当我以面向对象的方式使用matplotlib进行编程时,是否可以在Jupyter Notebook中自动完成代码?

  18. 18

    无法使用类中的方法在Visual Basic.net中以编程方式向Datagridview中添加列

  19. 19

    以编程方式使用UserToken进行身份验证

  20. 20

    如何使用ProcessBuilder API以编程方式对jar文件进行签名

  21. 21

    如何在C ++中的Ubuntu中使用WMI

  22. 22

    使用Powershell或WMI在IIS中托管的停止/启动服务

  23. 23

    使用wmi触发NDIS驱动程序中的查询OID

  24. 24

    使用rsyslog进行监视

  25. 25

    设置IP和DNS以使用VB.net中WMI的DHCP

  26. 26

    在Java中以编程方式监视JVM的堆栈区域?

  27. 27

    如何使用Spring以编程方式使用Rest API中的文件?

  28. 28

    使用API使用Hashtag在Instagram中以编程方式发送图片

  29. 29

    如何在EntityFramework Codefirst中以编程方式使用迁移?

热门标签

归档