方法一:
  import time       导入time模块
import psutil 导入psutil模块
def func():
while True: -------》持续监控得while循环
mem = psutil.virtual_memory() ----》监控物理内存
disk = psutil.disk_usage(r'c:') ----》监控硬盘
cpu = psutil.cpu_percent() -----》cpu使用率监控
if cpu > :
print('你的cpu顶不住了,已经使用了%s'%cpu) 使用占位符 else:
print('你的cpu情况还行噢,已经使用了%s'%cpu)
if mem[] > :
print('你的物理内存顶不住了,占用率为%s'%mem[])
else:
print('你的内存情况还行噢,占用率为%s'%mem[])
if disk[] > :
print('你的C盘里放了多少资源啊,使用率高达%s'%disk[])
else:
print('C盘里东西不多,占用了%s'%disk[])
time.sleep() ----》睡三秒

方法二:(传参,只举例cpu使用率监控)

  import time
import psutil
def func(cpu): ----》上题也可以使用传参来操作
while True:
if cpu > :
print('你的cpu顶不住了,已经使用了%s'%cpu)
else:
print('你的cpu情况还行噢,已经使用了%s'%cpu)
time.sleep()
func(cpu=psutil.cpu_percent()) -----》以key,value的形式调用一个值传给形参然后再到函数体中,这里的值为cpu *

完善版本

 #连接邮箱服务器
import yagmail #请先下载yagmail包,再导入
import psutil #导入psutil模块
def mail(subject,contents): ---》形参为邮件的标题和内容
yag = yagmail.SMTP(user='z1065132644@163.com', password='yn369369', host='smtp.163.com') passwd为授权的密码不是登陆密码
#发送邮件
yag.send(to='z1065132644@163.com',subject=subject, contents=contents) ————》定义变量subject和contents
#断开连接
yag.close() # import psutil
def cpu_info(): ----》函数名尽可能切合内容
cpu = psutil.cpu_percent()
return cpu ----》返回cpu,可以被调用,此return的结果就是调用的结果
res=cpu_info() ----》给调用结果赋值。可以省略,下同 def mem_info():
mem = psutil.virtual_memory() ---》通过ps模块输出内存情况
info1={'mem_total':mem[],'mem_free':mem[],'mem_percent':mem[],'mem_used':mem[]} --》将内存情况放入一个字典,方便调用
return info1
res2=mem_info() def disk_info():
disk = psutil.disk_usage(r'c:') ---》(r'c:')为查看盘的固定写法
info2 = {'total': disk[], 'used': disk[], 'free': disk[], 'percent': disk[]} ---》同样写入一个字典
return info2
res3=disk_info() def main(): ----->定义一个主函数
m_cpu = res
m_mem = res2
m_disk = res3 --->将各个分函数的调用结果当作函数体输入
msg=''' ---》赋值msg整个的监控情况,cpu,内存和磁盘使用等
cpu使用率%s
内存总量%sM ---》使用占位符,单位,注意%%为一个百分比的固定写法
内存剩余%sM
内存使用率%s
内存使用量%sM
磁盘总量%sGB
磁盘使用量%sGB
磁盘剩余量%sGB
磁盘使用率%s%%
'''\ ---》 换行用 \
%(m_cpu,int(m_mem.get('mem_total')//),int(m_mem['mem_free']//),m_mem['mem_percent'],
int(m_mem['mem_used']//),int(m_disk['total']///),int(m_disk['used']///),
int(m_disk['free']///),m_disk['percent']) --》int()取整数
print(msg) ---》输出整个情况
if m_cpu >: ---》设置报警值,下同
mail('cpu报警',msg) ---》给分函数mail的形参传参
else:
print('cpu正常')
if m_mem['mem_percent'] > :
print('悠着点,内存占用过半了')
else:
print('relax')
if m_disk['percent'] > :
print('悠着点,磁盘快炸了')
else:
print('放轻松,没事哦') if __name__=='__main__': --》主函数调用固定格式
main()

使用python函数持续监控电脑cpu使用率、内存、c盘使用率等的更多相关文章

  1. 监控电脑CPU,内存,文件大小,硬盘空间,IP,用户名

    public class MonitorTools { /// <summary> /// 获取具体进程的内存,线程等参数情况 /// </summary> /// <p ...

  2. Golang获取CPU、内存、硬盘使用率

    Golang获取CPU.内存.硬盘使用率 工具包 go get github.com/shirou/gopsutil 实现 func GetCpuPercent() float64 { percent ...

  3. 监控操作系统的CPU、内存、磁盘

    Linux 四大件:CPU.内存.磁盘.网络 CPU 就像人的大脑,主要负责相关事情的判断以及实际处理的机制. CPU的性能主要体现在其运行程序的速度上.影响运行速度的性能指标包括CPU的工作频率.C ...

  4. php获取linux服务器CPU、内存、硬盘使用率的实现代码

    define("MONITORED_IP", "172.16.0.191"); //被监控的服务器IP地址 也就是本机地址 define("DB_SE ...

  5. linux服务器性能(网卡流量、CPU、内存、磁盘使用率)监控

    广义的网站的监控涵盖所有的非业务行为的数据采集与管理,包括数据分析师和产品设计师使用的网站用户行为日志.业务运行数据,以及供运维工程师和开发工程师使用的性能统计数据等. 本文主要是通过shell脚本来 ...

  6. python开发--python函数-(持续更新)

    1. 打印 : print() # 打印,输出 2. 变量 : var = 'hello' # 变量var , 把'hello' 赋值给变量 var 3. if 函数 : # 代码块 4个空格或者一个 ...

  7. linux检查系统CPU,内存,磁盘使用率

    #!/bin/bash CPU=`top -bn 1 -i -c | sed -n '3p' | awk -F ':' '{print$2}' | awk '{print$1}'` MEM=`free ...

  8. Zabbix通过SNMP监控多核CPU使用率时, 计算CPU平均使用率

    环境:没有Agent,只能通过SNMP监控时,需要获取多核CPU的平均使用率. ZABBIX的使用SNMP监控CPU使用率时,由于设备都是多核CPU,监控的都是单独某一核心的使用率,但单独某一核使用率 ...

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

    Python获取CPU.内存使用率以及网络使用状态代码_python_脚本之家 http://www.jb51.net/article/134714.htm

随机推荐

  1. loadrunner---Android、iOS压力测试

    链接来源:http://www.cnblogs.com/ydnice/p/5790848.html 一.LoadRunner简介 LoadRunner,是惠普公司研发的一款预测系统行为和性能的负载测试 ...

  2. ORA-28000: the account is locked解决

    首先使用具有sysdba权限的账户登陆,如sys账户和system账户 新建一个sql窗体,并执行语句解锁被锁定的账户,如我这里sgyw账户: alter user sgyw account unlo ...

  3. jirba库的使用和好玩的词云

    1.jieba库基本介绍 (1).jieba库概述 jieba是优秀的中文分词第三方库 - 中文文本需要通过分词获得单个的词语         - jieba是优秀的中文分词第三方库,需要额外安装 - ...

  4. 巡风配置安装 –centOS6.5

    巡风是一款适用于企业内网的漏洞快速应急.巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表. 其主体分为两部分:网络资产识别引擎,漏 ...

  5. python中讲的好的内容记载

    什么是Name_mangling以及python的下划线约定 (转载来源:https://blog.csdn.net/handsomekang/article/details/40303207)

  6. ansible常用模块入门

    常用模块有以下几个 command copy shell crond yum service setup 1.command模块 ansible george -m command -a " ...

  7. day62 中间件

    一.中间件的介绍 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级, 并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用, 用不好 ...

  8. js驗證網址URL格式

    /^((ht|f)tps?):\/\/([\w\-]+(\.[\w\-]+)*\/)*[\w\-]+(\.[\w\-]+)*\/?(\?([\w\-\.,@?^=%&:\/~\+#]*)+)? ...

  9. Ant将Jmeter的jtl文件转为html文件报“前言中不允许有内容”

    ant执行jmeter的脚本的时候提示“Fatal Error! 前言中不允许有内容” 解决办法: 在jmeter的bin目录中找到jmeter.properties: 将文件中#jmeter.sav ...

  10. Dubbo和Spring Cloud

    1.Dubbo和Spring Cloud区别 1).通信方式不同 Dubbo使用RPC通信,Spring Cloud使用Http RestFul方式 2) 组成部分不同 组件 Dubbo Spring ...