psutil模块的基础使用
注:Python并没有自带psutil模块,需要自己去安装
安装psutil模块
pip install psutil
or
pip3 install psutil
一、导入模块
import psutil
from psutil import *
二、获取CPU相关信息
#获取CPU总数
print("CPU总数:",cpu_count()) #获取不同状态下cpu运行时间
print("各状态下CPU运行时间:",cpu_times()) #获取CPU执行用户(user)进程时间
print('CPU 执行用户进程时间:',cpu_times().user) #获取CPU执行系统调用(system)时间
print('CPU 执行系统调用时间:',cpu_times().system) #获取CPU空闲等待时间
print('CPU 空闲等待 时间:',cpu_times().idle) #获取CPU响应中断时间
print('CPU 响应中断 时间:',cpu_times().interrupt) #CPU使用率:不加参数为上一次调用到现在的使用率
print("CPU 使用率:",cpu_percent()) #3秒内CPU使用率
print("CPU 3s内使用率:",cpu_percent(interval=3)) #3秒内每个CPU使用率
print("每个逻辑 CPU的使用率: ",cpu_percent(percpu=True)) #cpu各个状态下使用情况
print("CPU 各个状态使用情况:",cpu_times_percent()) #每个CPU各个状态使用情况
print("各个CPU 各个状态使用情况:")
cpuinfos = cpu_times_percent(percpu = True)
for i in cpuinfos:
print(i)
input("按回车键退出!")
概述:
# cpu_count --统计CPU数量
# cpu_times --获取不同状态下cpu运行时间
# cpu_times.user/system/idle/interrupt
# cpu_percent() --获取cpu使用率
# cpu_times_percent() --获取cpu使用情况
三、获取RAM(内存使用情况)
① 未优化代码:
#获取内存使用情况,不同系统返回值不同
mem = virtual_memory()
#获取swap内存使用情况:swap_memory() #1M = 1024*1024
#1G = 1024*1024*1024
M = 1024*1024
G = M*1024 #系统内存
print("系统内存: ", mem)
#总内存
print("总 内存: ",(mem.total))
#空闲内存
print("空闲内存: ",mem.available)
#使用内存
print("使用内存: ",mem.used)
#未使用内存
print("未使用内存: ",mem.free)
#内存使用率
print("内存使用率: ",mem.percent)
#swap内存
print("swap 内存: ",swap_memory())
概述:
# virtual_memory() --获取内存使用情况
# virtual_menory().total/available/used/free/percent/momory
# swap_memory() --获取交换内存使用情况
"//"地板除(整除) "/"普通除(留余)
② 对代码进行优化输出
#系统内存
print("系统内存: ", mem)
#总内存
print("总 内存: %dM %.2fG" % (mem.total//M,mem.total/G))
#空闲内存
print("空闲内存: %dM %.2fG" % (mem.available//M,mem.available/G))
#使用内存
print("使用内存: %dM %.2fG" % (mem.used//M,mem.used/G))
#未使用内存
print("未使用内存: %dM %.2fG" % (mem.free//M,mem.free/G))
#内存使用率
print("内存使用率: %d%%"% mem.percent)
#swap内存
print("swap 内存: ",swap_memory())
四、获取磁盘信息
#获取磁盘分区
devs = disk_partitions()
#显示硬盘信息
print(devs)
#硬盘名称与挂载点,文件类型:
for dev in devs:
print("硬盘名:%s ,挂载点:%s ,文件类型:%s" % (dev.device,dev.mountpoint,dev.fstype)) #获取单个磁盘使用情况
print(psutil.disk_usage("F:\\"))
概述:
1 # disk_partitions() --获取磁盘分区
2 # disk_partitions().device --获取磁盘名
3 # disk_partitions().mountpoint --获取挂载点
# disk_partitions().fstype --获取磁盘类型
5 ------------------------------------------------
#注意盘符,输入如果是'\'会出现错误,因为表示转义
7 # disk_usage(path) --获取磁盘使用情况,path为路径
将代码定义为函数:
def showdiskinfo(path):
G = 1024*1024*1024
diskinfo = disk_usage(paht)
print(path,diskinfo)
print("%s 大小:%dG,已使用:%dG,未使用:%dG,使用百分比:%D%%"%\
(path.diskinfo.total//G,diskinfo.used//G,diskinfo.free//G,diskinfo.percent))
五、获取硬盘读写信息
diskrw = psutil.disk_io_counters()
#diskrw为硬盘的总的读写信息
print(diskrw)
diskrws = psutil.disk_io_counters(perdisk=True)
#diskrws为字典类型,表示每个分区读写信息,观察diskrw与diskrws值的关系
print(diskrws)
概述:
1 # psutil.disk_io_counters(perdisk=False,nowrap=True) --硬盘IO读取信息
六、获取硬盘的PID号
#主要信息:进程名,状态:创建时间,CPU内存使用情况,线程数
p = psutil.Process(0)
print("进程名称:",p.name())
print("运行状态:",p.status())
print("创建时间:",p.create_time())
print("CPU信息",p.cpu_times())
print("内存信息:",p.memory_percent())
print("内存使用:",p.memory_info())
print("IO信息:",p.io_counters())
print("线程数:",p.num_threads())
概述:
1 # psutil.pids() ---获取进程ID(每个进程都有唯一ID)
2 # psutil.Process(pid) ---根据进程ID获取process对象(process过程,进程)
psutil模块的基础使用的更多相关文章
- python基础之psutil模块和发邮件(smtplib和yagmail)
除了内建的模块外,Python还有大量的第三方模块. 基本上,所有的第三方模块都会在PyPI - the Python Package Index上注册,只要找到对应的模块名字,即可用pip安装. 此 ...
- psutil模块
python模块之psutil 一.psutil模块 1.介绍 psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率( ...
- 15.python笔记之psutil模块
一.psutil模块 1. psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...
- psutil模块安装指南(win与linux)
1.windows下psutil模块安装: https://pypi.python.org/packages/3.4/p/psutil/ 下载符合版本的软件包下载,然后安装即可. 2.ubuntu下载 ...
- CentOS7--64安装python的psutil模块
1.以root身份登陆CentOS依次 执行以下命令: wget https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.g ...
- Python 中psutil 模块的安装
第一步下载psutil 的安装包 网址:https://pypi.python.org 第二步解压 .tar.gz cd psutil- 第三步安装: python setup.py build py ...
- 自动化之路 python psutil模块 收集硬件信息
一.psutil模块 1. psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控,分析和限制系统资源及进程的管理.它实现了 ...
- [Python Study Notes]psutil模块
系统性能信息模块psutil psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(CPU,内存,磁盘,网络等)信息,主要应用于系统监控,分析和限制系统资源及进程的管理,它实现了同等 ...
- python之psutil模块(获取系统性能数据)
psutil模块 1.介绍 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...
随机推荐
- Spark编程环境搭建及WordCount实例
基于Intellij IDEA搭建Spark开发环境搭建 基于Intellij IDEA搭建Spark开发环境搭——参考文档 ● 参考文档http://spark.apache.org/docs/la ...
- .net core mvc全局设置跨域访问
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory ...
- ASP.NET MVC CheckBoxFor为什么会生成hidden input控件
自己开发的公众号,可以领取淘宝内部优惠券 @Html.CheckBoxFor(m => m.Bool) 使用CheckBoxFor方法得到的html代码会是下面这个样子 <input ch ...
- IE6/IE7下只设置margin-left,左右都有边距问题
CSS代码 div { border: 1px solid red; } .inner { width: 80px; height: 80px; float: left; position: rela ...
- input累加赋值
需求如下:第一个input添加字符到第二个input,第二个input需要累加. html: <tr> <td rowspan="2" class="D ...
- 深入理解jvm jdk1,7(1)
java 虚拟机管理的内存模型包含以下几个运行时数据区域: 程序计数器: 程序计数器是一块较小的内存空间,它可以看成当前线程执行的字节码的行号指示器.在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能 ...
- js中的load先执行还是Jquery的ready先执行问题
onload需要页面上所有的资源都加载上之后执行,而ready则是DOM文档树已经解析完成时,说ready比onload快最显著的是比如一个页面上有一个很大的图片,加载要好久,onload只有在图片加 ...
- Diagnostics->Examine功能不能使用
在获取字段来源时: 执行Help->Diagnostics->Examine 系统弹出
- #include< >和#include“ ”的区别
< >引用的是编译器的类库路径里面的头文件 " "引用的是你程序目录的相对路径中的头文件 假如你编译器定义的自带头文件引用在C:\Keil\c51\INC\下面 则#i ...
- scanner/portscan/syn
msf > use auxiliary/scanner/portscan/syn msf auxiliary(syn) > set RHOSTS 172.16.21.170 /*设定rh ...