前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python-检测cpu负载

python-检测cpu负载

作者头像
py3study
发布2020-01-09 14:28:23
9760
发布2020-01-09 14:28:23
举报
文章被收录于专栏:python3

      近期研究nagios,特意写了检测cpu负载的python脚本(有借鉴网上资料),顺道练练python脚本,以下采用2种方法获取cpu负载。

1、读取cpu负载文件:

#!/usr/bin/env python #-*- coding:utf-8 -*- '''cpu负载检测 for nagios''' import sys def check_load():     loadf=open('/proc/loadavg','r')     allavg=loadf.readline()     load5avg=float(allavg.split()[0])     load10avg=float(allavg.split()[1])     load15avg=float(allavg.split()[2])     loadf.close()     print load5avg     n=0     cpunf=open('/proc/cpuinfo','r')     for i in cpunf.readlines():         if i.split(':')[0].strip() == 'processor':             n+=1     cpunf.close()     if load5avg > n:         print "critical - load average:%.2f,%.2f,%.2f" %(load5avg,load10avg,load15avg)         sys.exit(2)     else:         print "OK - load average:%.2f,%.2f,%.2f" %(load5avg,load10avg,load15avg)         sys.exit(0) if __name__ == '__main__':     check_load()

2、调用python的os模块获取cpu负载:

#!/usr/bin/env python #-*- coding:utf-8 -*- '''cpu负载检测 for nagios''' import os,sys def check_load():     (d1,d2,d3)=os.getloadavg()     print d1     n=0     cpunf=open('/proc/cpuinfo','r')     for i in cpunf.readlines():         if i.split(':')[0].strip() == 'processor':             n+=1     cpunf.close()     if d1 > n:         print "critical - load average:%.2f,%.2f,%.2f" %(d1,d2,d3)         sys.exit(2)     else:         print "OK - load average:%.2f,%.2f,%.2f" %(d1,d2,d3)         sys.exit(0) if __name__ == '__main__':     check_load()

备注:2种方法效果一样,脚本很简单,有好方法的大神,开源出来,互相学习!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档