注: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. (转)Word快捷键大全 Word2013/2010/2007/2003常用快捷键大全

    Word对于我们办公来说,是不可缺少的办公软件,因为没有它我们可能无法进行许多任务.所以现在的文员和办公室工作的人,最基础的就是会熟悉的使用Office办公软件.在此,为提高大家Word使用水平,Wo ...

  2. Spark Mllib里如何采用保序回归做回归分析(图文详解)

    不多说,直接上干货! 相比于决策树,保序回归的应用范围没有决策树算法那么广泛. 特别在数据处理较为庞大的时候,采用保序回归做回归分析,可以极大地节省资源,从而提高计算效率. 保序回归的思想,是对数据进 ...

  3. (四)Redis主从复制(单机版,不集群)

    持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失,如果通过redis的主从复制机制就可 ...

  4. usb-host一步一步学(一)安卓在usb-host模式下列出当前连接的usb设备

    在本次尝试中,我的安卓手机(HTC One X) 通过OTG线作为usb主机模式列出当前插入的usb设备,版本要求minSDKVersion="12". 没有外设的情况下,结果如下 ...

  5. JAVA4大线程池

    不知不觉中我们电脑的硬件设施越来越好,从双核四线程普及到如今四核八线比比皆是.互联网发展至今,讲究的就是快,less is more,而且大数据的诞生和各种种类繁多的需求处理,单线程的程序逐渐不能满足 ...

  6. 添加egit插件

    1.下载egit插件 打开Eclipse,git需要eclipse授权,通过网页是无法下载egit的安装包的.在菜单栏依次打开eclipse→help→install new software→add ...

  7. MobaXterm连接远程Linux服务器

    MobaXterm是一个X服务器和一组的Unix命令(GNU/ Cygwin的)封装在一个单一的便携式exe文件的增强终端. MobaXterm包括一个巨大的multitab原生的Windows终端. ...

  8. iOS 解决tableView中headerView头部视图不跟随tableView滑动的方法

    解决方法如下: if (scrollView.contentOffset.y >= 0 && scrollView.contentOffset.y <= pushNewsT ...

  9. mac 查看python安装路径

    1.terminal : input: which Python 2.terminal: input : python  --->import sys  ----> print sys.p ...

  10. VMware Workstation Pro 11、12 密钥

    11:1F04Z-6D111-7Z029-AV0Q4-3AEH8 12:5A02H-AU243-TZJ49-GTC7K-3C61N