Python中psutil模块应用

Python中psutil模块应用psutil(Pythonsystemandprocessutilities)是python的系统监控及进程的管理的工具,是一个功能很强大的跨平台的系统管理库。官方文档(https://pythonhosted.org/psutil/)psutil是一个第三方的开源项目,因此,需要先安装才能够使用。pip3installpsutil获取psutil版本信息importpsu…

大家好,又见面了,我是你们的朋友全栈君。

psutil(Python system and process utilities)是python的系统监控及进程的管理的工具,是一个功能很强大的跨平台的系统管理库。
官方文档(https://pythonhosted.org/psutil/)

psutil是一个第三方的开源项目,因此,需要先安装才能够使用。
pip3 install psutil

获取psutil版本信息
import psutil
psutil.version_info

系统性能监测 demo
系统性能定时监控
1、能够显示当前服务器CPU的使⽤率
2、能够显示当前服务器内存的使⽤率
3、能够显示当前服务器硬盘的使⽤率
4、能够显示当前服务器⽹络的收发情况
5、能够显示CPU总核⼼数、总内存、总
6、能够保存⽇志信息到 系统监控报告.txt ⽂件中
7、能够直接执⾏脚本查看

import psutil
import datetime
import yagmail

# cup 使用率
cpu_info = psutil.cpu_percent(interval=0.5)

# 内存使用率
memory_info = psutil.virtual_memory().percent

# 硬盘的使⽤率
disk_info = psutil.disk_usage("/").percent

# ⽹络的收发情况
net_info = psutil.net_io_counters()
# print(net_info.bytes_sent)
# print(net_info.bytes_recv)

# 获取系统时间
time = datetime.datetime.now().strftime("%Y-%m-%d %T")
# print(type(time))

# CPU总核⼼数、总内存、总硬盘
cup_num = psutil.cpu_count()
virtual_num = psutil.virtual_memory().total / 1024 / 1024 / 1024
disk_num = psutil.disk_usage("/").total / 1024 / 1024 / 1024
# print(disk_num)


# 输出信息
sys_str = "|-------------------|-------------|-------------|------------|------------------|\n"
sys_str += "|监视时间            | CPU使用率      内存使用率  |  磁盘使用率 |    网络收发量         |\n"
sys_str += "|                   | (共%d核CPU)  |(共%.1fgG内存)|(共%.1fgG磁盘|                    |\n" % (
    cup_num, virtual_num, disk_num)
sys_str += "|-------------------|------------|------------|------------|--------------------|\n"
sys_str += "|%s|     %d%%     |     %d%%    |     %d%%    |收:%d发:%d|\n" % (
    time, cpu_info, memory_info, disk_info, net_info.bytes_sent, net_info.bytes_recv)
sys_str += "|-------------------|------------|------------|------------|--------------------|\n"

with open("系统监控报告.txt", "a", encoding="utf-8") as f:
    f.write(sys_str + '\n\n')


# 链接邮箱服务器
#  user@126.com 发件⼈邮箱
#  1234 发件⼈邮箱授权码(授权码,注意不是邮箱)
#  smtp.126.com ⽹易126邮箱发件服务器
yag = yagmail.SMTP(user="******@163.com", password="****", host="smtp.163.com")
#  邮箱正⽂
contents = sys_str
#  发送邮件
#  taaa@126.com 收件⼈邮箱
#  subject 邮件主题
yag.send('****@qq.com', '***', contents)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136376.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 编译成功了,运行为什么会失败_如何编译内核

    编译成功了,运行为什么会失败_如何编译内核1:首先在内核文件夹当中选择编译配置文件arch/arm/configs下选则davinci_dm368_ipnc_defconfig_nand(nandflash启动),davinci_dm368_ipnc_defconfig_nfs(nfs文件系统启动)2:makemenuconfig保存退出3:makeARCH=armCROSS_COMPILE=arm_v5t_le-

  • python 0xff_正在解压缩“0xff”与“\xff”[通俗易懂]

    python 0xff_正在解压缩“0xff”与“\xff”[通俗易懂]我试图用wave库从wave文件中读取二进制数据。数据以’\x0f\x06\x0a…’的形式读取和报告,我想把十六进制数转换成整数(你知道,以10为基数)。我把这些字符当作十六进制字符来处理,但我并没有把这些字符当作十六进制字符来处理。在importwaveimportstructpath=”C:\\directory\\file.wav”file=wave.open(path,’r’)dat…

  • 远程服务器mstsc命令,远程桌面连接命令mstsc怎么用

    远程服务器mstsc命令,远程桌面连接命令mstsc怎么用现在经常在家远程办公,肯会使用到远程桌面连接命令mstsc远程管理电脑或者服务器,,远程桌面连接命令mstsc的使用还是很简单的。但是对于没用过远程桌面连接命令的人来说,首次使用可能连需要进行设置都不清楚。小编在这将远程桌面连接命令mstsc的使用方法进行详细介绍首先需要对被远程控制的电脑A进行设置:1  在电脑A上点击【开始】—【控制面板】,找到【用户帐户】,点击进入后为当前用户账户创建密码,输…

  • okio源码解析「建议收藏」

    okio源码解析「建议收藏」1、为什么要学习okio源码?a)okio是安卓大神JakeWharton之作,大神之作必须是值得学习的。b)okio简单易用,高效。okio是对Javaio、nio的简洁封装,原生的Javaio采用装饰者模式,使用的时候非常繁琐,而相同的操作okio只需短短几行代码就可以搞定,当然除了简单易用之外,okio还是一个非常高效的io库,显著的节省CPU和Memory资源。c)okio

  • STM32延时函数的四种方法

    STM32延时函数的四种方法目录1、普通延时2、定时器中断3、查询定时器4、汇编指令单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us()和毫秒级delay_ms()。本文基于STM32F207介绍4种不同方式实现的延时函数。1、普通延时这种延时方式应该是大家在51单片机时候,接触最早的延时函数。这个比较简单,让单片机做一些无关紧要的工作来打发时间,经常用循环来实现,在某些编译器下,代码会被优化,导致精度较低,用于一般的延时,对精度不敏感的应用场景中。//微秒级的延时void

  • DOM简要

    DOM简要

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号