方法一:
  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. Unity中有限状态机的用法教程

    Unity开发VR之Vuforia 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  2. Java基础知识学习思维导图

  3. mock数据,尽量随机,1次插入多条

    建表,多设置一个字段id_tmp create table if not exists mall_data.dtw_mall2_adm_customer_d_tmp( id_tmp string co ...

  4. mysql 两张表的数据设置主外健关联删除

    image_group 主表 image 副表 alter table image add constraint fk_group_idforeign key (group_id)references ...

  5. Spring的由来以及发展

    Spring简史: 第一阶段:XML配置在Spring1.x时代,都是使用XML配置Bean,随着项目扩大,我们把XML文件切分成多个配置文件,那时候需要频繁地在开发类和配置文件之间切换    第二阶 ...

  6. windows下配置下burpsuite的小方法。

    1.下载破解版burpsuite和正版burpsuite. 2.安装正版burpsuite(免费版) 3.打开安装路径 4.把破解版的burp拷贝到安装路径下 5.该路径下应该有个burpsuite_ ...

  7. mybatis 中javaType和OfType 的区别

    JavaType和ofType都是用来指定对象类型的,但是JavaType是用来指定pojo中属性的类型,而ofType指定的是映射到list集合属性中pojo的类型.pojo类: publiccla ...

  8. [PYTHON]_ELVE_Python源代码文件编译成可执行文件(支持macOS High Sierra和window 10)

    #0x01 背景 这两天写了一个抽奖的Python脚本,要生成可执行文件,总不能一直在sublime上运行吧,或者运行前先安装Python,所以就查了一下怎么生成可执行文件,本篇包括mac下和win下 ...

  9. [Jave - JDBC] executeUpdate & executeQuery & execute

    1. executeUpdate 用於執行INSERT.UPDATE.DELETE語法,以及 DDL語句(如CREATE TABLE 和DROP TABLE). 返回值為受影響的行數or更新計數(整數 ...

  10. tomcat使用自签名证书实现https加密访问

    部署好java环境和tomcat之后 执行以下语句 #生成证书,keytool是java工具命令,-genkey生成证书,-alias证书名称,-keyalg应该是指算法,-keystore是证书存储 ...