zoukankan      html  css  js  c++  java
  • python监控cpu 硬盘 内存

    import psutil
    import time
    import yagmail
    
    def sendmail(subject,contents):
    yag = yagmail.SMTP(user='155xxx8589@163.com',password='邮箱授权码',host='smtp.163.com')
    yag.send(to='15534828589@163.com',subject=subject,contents=contents)
    yag.close()
    
    def cpu():
    cpu = psutil.cpu_percent(1)
    return {'cpu_percent':cpu}
    def mem():
    mem_total = psutil.virtual_memory()[0]
    mem_percent = psutil.virtual_memory()[2]
    return {'mem_total':int(mem_total/1024/1024),'mem_percent':mem_percent}
    def disk():
    disk_total = psutil.disk_usage('c:')[0]
    disk_percent = psutil.disk_usage('c:')[3]
    return {'disk_total':int(disk_total/1024/1024/1024),'disk_percent':disk_percent}
    def main():
    info = {}
    info.update(cpu())
    info.update(mem())
    info.update(disk())
    
    msg = '''
    cpu使用率:%s%%
    内存使用率:%s%%
    硬盘使用率:%s%%
    
    内存总大小:%sM
    硬盘总大小:%sG
    ''' % (info['cpu_percent'],info['mem_percent'],info['disk_percent'],info['mem_total'],info['disk_total'])
    if info['cpu_percent'] > 5:
    sendmail('cpu报警',msg)
    if info['mem_percent'] > 50:
    sendmail('内存报警',msg)
    if info['disk_percent'] > 50:
    sendmail('硬盘报警',msg)
    while True :
    if __name__ == '__main__':
    main()
    time.sleep(60)
  • 相关阅读:
    策略模式c++【转】
    [转]C++设计模式:Builder模式
    c/c++ 笔试面试题
    堆排序
    冒泡,快速,和堆排序
    C++继承
    【转】林建:计算机专业学习浅谈
    (centos)linux下访问双系统windows7文件系统
    sprintf() in c
    System call in linux by C
  • 原文地址:https://www.cnblogs.com/t-ym/p/11825674.html
Copyright © 2011-2022 走看看