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.内存.磁盘.网络等) ...
随机推荐
- (转)不看绝对后悔的Linux三剑客之sed实战精讲
不看绝对后悔的Linux三剑客之sed实战精讲 原文:http://blog.51cto.com/hujiangtao/1923718 二.Linux三剑客之sed命令精讲 1,前言 我们都知道,在L ...
- Linux网络编程函数
1. Server端-socket/bind/listen/accept/read socket(AF_INET, SOCK_STREAM, 0); //指定端口,内核将端口上的数据转发给该socke ...
- win8.1x64下完美运行IE6
IE6我相信是所有前端人员永远都绕不过去的坎,操作的版本越来越高,离xp越来越远,难道你还在win8下安装个虚拟机来运行IE6吗?这样即消耗系统资源,来回的切换也麻烦,关键是只为了一个测试哦,没必要这 ...
- java中的递归思想及应用
递归就是自己调自己,最需要注意的就是结束条件,否则可能就是死循环,导致内存溢出 public T a(Object x,Object y) { if(条件true) { a(x1,y1); } els ...
- enable orgmode latex preview to support retina on mac
Table of Contents 1. enable orgmode latex preview to support retina on mac 1.1. get the proper versi ...
- spring boot 基础 多环境配置
对于多环境的配置,各种项目构建工具的思路基本上一致,都是通过配置多份不同环境的配置文件来区分. 1. 首先我们先创建不同环境下的属性文件,截图如下: application.properties 是 ...
- hibernate课程 初探单表映射1-11 通过hibernate API访问编写第一个小例子
hibernate 业务流程 1 创建配置对象 Configuration config = new Configuration().configure(); 2 创建服务注册对象 Service ...
- eclipse 中安装spring tool suite 插件100%成功率
自己曾在学习spring时,在eclipse EE中安装springsourceTool Suite插件浪费了很多时间,不管是离线,在线还是在eclipse marketplace中安装,尝试了许多方 ...
- 原生css3作响应式布局
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- 构建第一个Spring Boot2.0应用之项目创建(一)
1.开发环境 IDE: JAVA环境: Tomcat: 2.使用Idea生成spring boot项目 以下是使用Idea生成基本的spring boot的步骤. (1)创建工程第一步 (2)创建工 ...