python 监测内存和cpu的使用率实例

我就废话不多说了,直接上代码吧!

import paramiko
import pymysql
import time

linux = ['192.168.0.179']
def connectHost(ip, uname='shenyuming', passwd='ajiongqqq'):
  ssh = paramiko.SSHClient()
  ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  ssh.connect(ip, username=uname, password=passwd,port=22)
  return ssh
def MainCheck():
  try:
    while True:
      time.sleep(1)
      for a in range(len(linux)):
        ssh = connectHost(linux[a])
        # 查询主机名称
        cmd = 'hostname'
        stdin, stdout, stderr = ssh.exec_command(cmd)
        host_name = stdout.readlines()
        host_name = host_name[0]
        # 查看当前时间
        csj = 'date +%T'
        stdin, stdout, stderr = ssh.exec_command(csj)
        curr_time = stdout.readlines()
        curr_time = curr_time[0]

        # 查看cpu使用率,并将信息写入到数据库中(取三次平均值)
        cpu = "vmstat 1 3|sed '1d'|sed '1d'|awk '{print $15}'"
        stdin, stdout, stderr = ssh.exec_command(cpu)
        cpu = stdout.readlines()
        cpu_usage = str(round((100 - (int(cpu[0]) + int(cpu[1]) + int(cpu[2])) / 3), 2)) + '%'

        # 查看内存使用率,并将信息写入到数据库中

        mem = "cat /proc/meminfo|sed -n '1,4p'|awk '{print $2}'"
        stdin, stdout, stderr = ssh.exec_command(mem)
        mem = stdout.readlines()
        mem_total = round(int(mem[0]) / 1024)
        mem_total_free = round(int(mem[1]) / 1024) + round(int(mem[2]) / 1024) + round(int(mem[3]) / 1024)
        mem_usage = str(round(((mem_total - mem_total_free) / mem_total) * 100, 2)) + "%"

        sql = "insert into memory_and_cpu values('%s','%s','%s','%s')" % (
        host_name, curr_time, cpu_usage, mem_usage)
        db = connectDB()
        sqlDML(sql, db)
  except:
    print("连接服务器 %s 异常" % (linux[a]))

def connectDB(dbname='test11'):
  if dbname == 'test11':
    db = pymysql.connect("localhost", "root", "shen123", "test11")
    return db
def sqlDML(sql, db):
  cr = db.cursor()
  cr.execute(sql)
  db.commit()
  cr.close()

  #
if __name__ == '__main__':

  MainCheck()

以上这篇python 监测内存和cpu的使用率实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python 实时得到cpu和内存的使用情况方法

    如下所示: #先下载psutil库:pip install psutil import psutil import os,datetime,time def getMemCpu(): data = psutil.virtual_memory() total = data.total #总内存,单位为byte free = data.available #可以内存 memory = "Memory usage:%d"%(int(round(data.percent)))+"%&

  • Python获取CPU、内存使用率以及网络使用状态代码

    由于psutil已更新到3.0.1版本,最新的代码如下: #!/usr/bin/env python import os import time import sys import atexit import psutil #print "Welcome,current system is",os.name," 3 seconds late start to get data" time.sleep(3) line_num = 1 #function of Get

  • python 监测内存和cpu的使用率实例

    我就废话不多说了,直接上代码吧! import paramiko import pymysql import time linux = ['192.168.0.179'] def connectHost(ip, uname='shenyuming', passwd='ajiongqqq'): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(ip, us

  • Python限制内存和CPU使用量的方法(Unix系统适用)

    问题 你想对在Unix系统上面运行的程序设置内存或CPU的使用限制. 解决方案 resource 模块能同时执行这两个任务.例如,要限制CPU时间,可以像下面这样做: import signal import resource import os def time_exceeded(signo, frame): print("Time's up!") raise SystemExit(1) def set_max_runtime(seconds): # Install the sign

  • python如何给内存和cpu使用量设置限制

    目录 给内存和cpu使用量设置限制 限制Python进程cpu使用时间的样例如下 要限制内存的使用可以使用如下函数 查询windows的cpu.内存使用率 给内存和cpu使用量设置限制 在linux系统中,使用Python对内存和cpu使用量设置限制需要通过resource模块来完成. resource文档地址:resource — Resource usage information 限制Python进程cpu使用时间的样例如下 import signal import resource im

  • Android编程实现获取系统内存、CPU使用率及状态栏高度的方法示例

    本文实例讲述了Android编程实现获取系统内存.CPU使用率及状态栏高度的方法.分享给大家供大家参考,具体如下: DeviceInfoManage类用于获取系统的内存,CPU的信息,以及状态栏的高度 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReade

  • Python获取android设备cpu和内存占用情况

    功能:获取android设备中某一个app的cpu和内存 环境:python和adb 使用方法:使用adb连接android设备,打开将要测试的app,执行cpu/内存代码 cpu获取代码如下:(输入参数为脚本执行时间) # coding:utf-8 ''' 获取系统total cpu ''' import os, csv import time import csv import numpy as np from matplotlib import pyplot as plt cpu_list

  • 基于Python实现实时监控CPU使用率

    目录 导语 一.模块简介 二.准备中 三.开始敲代码 3.1 代码内容 3.2 附完整代码 四.效果展示 导语 哈喽!大家好,我是木木子!准时上线给大家更新啦!​ Ps:小故事 前两天有位粉丝朋友在群里问我说,有没有不装一些我们熟知的电脑管理软件但是依然可以查看CPU的使用率方法,或者能够介绍一款比较给力的小插件也好.确实,在生活中有不少人是不喜欢装那些管理软件的. 今天,木木子就给大家介绍一款手写编程代码的小脚本,能够轻松在界面上展示:利用Python实时监控CPU使用率,随时展现.也无需下载

  • 10种检测Python程序运行时间、CPU和内存占用的方法

    在运行复杂的Python程序时,执行时间会很长,这时也许想提高程序的执行效率.但该怎么做呢? 首先,要有个工具能够检测代码中的瓶颈,例如,找到哪一部分执行时间比较长.接着,就针对这一部分进行优化. 同时,还需要控制内存和CPU的使用,这样可以在另一方面优化代码. 因此,在这篇文章中我将介绍7个不同的Python工具,来检查代码中函数的执行时间以及内存和CPU的使用. 1. 使用装饰器来衡量函数执行时间 有一个简单方法,那就是定义一个装饰器来测量函数的执行时间,并输出结果: import time

  • python监测当前联网状态并连接的实例

    如下所示: def test1(): import os return1=os.system('ping 8.8.8.8') if return1: print 'ping fail' os.system('msdt.exe /id NetworkDiagnosticsNetworkAdapter')#调用系统网络诊断 else: print 'ping' def test2(): import os import subprocess fnull = open(os.devnull, 'w')

  • python 申请内存空间,用于创建多维数组的实例

    以三维数组为例 先申请1个一维数组空间: mat = [None]*d1 d1是第一维的长度. 再把mat中每个元素扩展为第二维的长度: for i in range(len(mat)): mat[i][j] = [None]*d2 类似的,把mat中每个元素扩展为第三维的大小: for i in range(len(mat)): for j in range(len(mat[0]): mat[i][j] = [None]*d3 以上是创建的"数组"其实是list类,不是严格意义的数组

  • 浅谈Python对内存的使用(深浅拷贝)

    本文主要研究的是Python对内存的使用(深浅拷贝)的相关问题,具体介绍如下. 浅拷贝就是对引用的拷贝(只拷贝父对象) 深拷贝就是对对象的资源的拷贝 >>> a=[1,2,3,'a','b'] >>> b=a >>> b [1, 2, 3, 'a', 'b'] >>> a [1, 2, 3, 'a', 'b'] >>> id(a) 3021737547592 >>> id(b) 3021737547

随机推荐