注: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三剑客之sed实战精讲

    不看绝对后悔的Linux三剑客之sed实战精讲 原文:http://blog.51cto.com/hujiangtao/1923718 二.Linux三剑客之sed命令精讲 1,前言 我们都知道,在L ...

  2. Linux网络编程函数

    1. Server端-socket/bind/listen/accept/read socket(AF_INET, SOCK_STREAM, 0); //指定端口,内核将端口上的数据转发给该socke ...

  3. win8.1x64下完美运行IE6

    IE6我相信是所有前端人员永远都绕不过去的坎,操作的版本越来越高,离xp越来越远,难道你还在win8下安装个虚拟机来运行IE6吗?这样即消耗系统资源,来回的切换也麻烦,关键是只为了一个测试哦,没必要这 ...

  4. java中的递归思想及应用

    递归就是自己调自己,最需要注意的就是结束条件,否则可能就是死循环,导致内存溢出 public T a(Object x,Object y) { if(条件true) { a(x1,y1); } els ...

  5. 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 ...

  6. spring boot 基础 多环境配置

    对于多环境的配置,各种项目构建工具的思路基本上一致,都是通过配置多份不同环境的配置文件来区分. 1. 首先我们先创建不同环境下的属性文件,截图如下: application.properties  是 ...

  7. hibernate课程 初探单表映射1-11 通过hibernate API访问编写第一个小例子

    hibernate 业务流程 1 创建配置对象 Configuration config  = new  Configuration().configure(); 2 创建服务注册对象 Service ...

  8. eclipse 中安装spring tool suite 插件100%成功率

    自己曾在学习spring时,在eclipse EE中安装springsourceTool Suite插件浪费了很多时间,不管是离线,在线还是在eclipse marketplace中安装,尝试了许多方 ...

  9. 原生css3作响应式布局

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  10. 构建第一个Spring Boot2.0应用之项目创建(一)

     1.开发环境 IDE: JAVA环境: Tomcat: 2.使用Idea生成spring boot项目 以下是使用Idea生成基本的spring boot的步骤. (1)创建工程第一步 (2)创建工 ...