【问题标题】:Remote PC CPU usage using python使用python的远程PC CPU使用率
【发布时间】:2014-05-31 10:06:26
【问题描述】:

我正在使用以下代码来获取远程 PC CPU 的使用百分比,因为 SSH 很慢并且加载远程 PC。

per=(subprocess.check_output('ssh root@192.168.32.218 nohup python psutilexe.py',stdin=None,stderr=subprocess.STDOUT,shell=True)).split(' ')
print 'CPU %=',float(per[0])
print 'MEM %=',float(per[1])

其中psutilexe.py如下:

import psutil
print psutil.cpu_percent(), psutil.virtual_memory()[2]

请告诉我是否有其他方法可以使用 Python 测量远程 PC CPU 的使用百分比?

【问题讨论】:

  • 您可以通过在主机上启用 SNMP 并在远程主机上使用 pysnmp 读取 CPU/RAM 信息来做到这一点

标签: python remote-access cpu-usage


【解决方案1】:

我建议看看 Glances。它是用python编写的,也可以用于远程服务器监控:

https://github.com/nicolargo/glances

在远程服务器上使用一瞥:

http://mylinuxbook.com/glances-an-all-in-one-system-monitoring-tool/

【讨论】:

    【解决方案2】:

    您不需要自定义 Python 脚本,因为您可以have CPU usage directly with top,(或with sysstat,如果已安装)。

    您是否分析您的应用?是自定义脚本使它变慢,还是 SSHing 本身?如果是SSHing,那么:

    • 如果您获得多个值,请考虑记录一次,或者:

    • 考虑使用消息队列而不是 SSH:被监控的机器会不断将其 CPU 使用率发送到消息队列服务,该服务将被负责收集结果的机器监听。

      李>

    【讨论】:

      【解决方案3】:

      我一直在寻找它,我认为 WMI 可以满足您的需求。

      WMI_Python_Documentation

      import wmi
      pc = wmi.WMI('PC_Name')
      cpu = pc.Win32_Processor()
      for i in cpu:
          print (i.LoadPercentage)
      

      希望这是您所需要的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-26
        • 2014-07-13
        • 2018-08-02
        • 1970-01-01
        相关资源
        最近更新 更多