注: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模块的基础使用的更多相关文章

  1. python基础之psutil模块和发邮件(smtplib和yagmail)

    除了内建的模块外,Python还有大量的第三方模块. 基本上,所有的第三方模块都会在PyPI - the Python Package Index上注册,只要找到对应的模块名字,即可用pip安装. 此 ...

  2. psutil模块

    python模块之psutil 一.psutil模块 1.介绍 psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率( ...

  3. 15.python笔记之psutil模块

    一.psutil模块 1. psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...

  4. psutil模块安装指南(win与linux)

    1.windows下psutil模块安装: https://pypi.python.org/packages/3.4/p/psutil/ 下载符合版本的软件包下载,然后安装即可. 2.ubuntu下载 ...

  5. CentOS7--64安装python的psutil模块

    1.以root身份登陆CentOS依次 执行以下命令: wget https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.g ...

  6. Python 中psutil 模块的安装

    第一步下载psutil 的安装包 网址:https://pypi.python.org 第二步解压 .tar.gz cd psutil- 第三步安装: python setup.py build py ...

  7. 自动化之路 python psutil模块 收集硬件信息

    一.psutil模块 1. psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控,分析和限制系统资源及进程的管理.它实现了 ...

  8. [Python Study Notes]psutil模块

    系统性能信息模块psutil psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(CPU,内存,磁盘,网络等)信息,主要应用于系统监控,分析和限制系统资源及进程的管理,它实现了同等 ...

  9. python之psutil模块(获取系统性能数据)

    psutil模块 1.介绍 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...

随机推荐

  1. 系统启动与Linux的初始化_1

    boot 的起源: the term bootstrap refers to a person who tries to stand up by pulling her own boots. (Und ...

  2. SpringBoot | 第十四章:基于Docker的简单部署

    前言 讲解了单元测试,本章节讲讲应用的部署吧.总体而言,在进行自动化部署时,基本都会用上Jenkins+Maven+Docker进行部署.本章节主要讲解使用Maven+Docker进行SpringBo ...

  3. Java实例学习——企业进销存管理系统(2)

    Java实例学习--企业进销存管理系统(2) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月15日-系统登录 对于昨天新建的12个Java包不能完全显示 ...

  4. hibernate丢失更新

    如果多个线程操作基于同一个查询结构对表中的记录进行修改,那么后修改的记录将会覆盖前面修改的记录,前面的修改就丢失掉了,这就叫做更新丢失.Serializable可以防止更新丢失问题的发生.其他的三个隔 ...

  5. 关于小程序后台post不到数据的问题

    小程序post请求获取不到数据问题 把headers的参数“Content-Type”的值改为application/x-www-form-urlencoded: Request Body Type ...

  6. eclipse调试(转)

    step into : 单步执行,遇到子函数就进入并且继续单步执行(F5) step over: 在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完在停止,也就是把子函 ...

  7. centos执行apt-get提示不存在

    在centos下用yum install xxx yum和apt-get的区别 一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.De ...

  8. Java图形界面开发—简易记事本

          在学习了Java事件之后,自己写了一个极其简单的记事本.用到了MenuBar,Menu,MenuITem等控件,事件包括ActionListener以及KeyListener. 代码如下: ...

  9. VS功能扩展--扩展介绍

    使用Eclipse的朋友都知道Eclipse是一个完全可扩展的IDE,那么在windows程序开发时,我们常使用的IDE(Visual studio)是否具有功能的扩展性呢?毫无疑问,回答是肯定的.我 ...

  10. mybatis-动态sql2

    mybatis的动态sql中常用的有    if     where      foreach    set 项目沿用之前的. 1.dao层添加接口: package com.java1234.map ...