python学习-psuti模块

psutil(进程和系统实用程序)是一个跨平台的库,用于 在Python中检索有关运行进程系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视分析和限制流程资源以及运行流程的管理。它实现了UNIX命令行工具提供的许多功能,例如:ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。psutil目前支持以下平台:

  • Linux的
  • 视窗
  • OSX
  • FreeBSD,OpenBSDNetBSD
  • Sun Solaris
  • AIX

... 32位64位体系结构,Python版本从2.6到3.6

  1. 1、获取系统性能信息
#! /env python3
#coding=utf-8
import psutil
''''
获取cpu信息
'''
a = psutil.cpu_times() #使用cpu_times方法获取cpu完成信息,需要显示所有的cpu信息
b = psutil.cpu_times().user #获取单项cpu的数据信息,如用户user的cpu时间比
c = psutil.cpu_count() #获取cpu的逻辑个数

print (a)
print (b)
print (c)

'''
内存信息
'''
mem = psutil.virtual_memory()   #使用pstuil.virtual_memory方法获取内存的完整信息
mem_total = psutil.virtual_memory().total #获取内存总数
mem_free = psutil.virtual_memory().free  #获取内存剩余
print (mem)
print (mem_total)
print (mem_free)

'''
磁盘信息
'''
disk_partitions = psutil.disk_partitions()   #获取磁盘完整信息
disk_usage = psutil.disk_usage('/')   #获取整个硬盘的信息
disk_usage_c = psutil.disk_usage('C://') #获取分区c的硬盘信息
disk_io = psutil.disk_io_counters() #获取硬盘的总io个数、读写信息
disk_io_perdisk = psutil.disk_io_counters(perdisk=True) #‘perdisk=True’参数获取单个分区IO个数、读写信息
print (disk_partitions)
print (disk_usage)
print (disk_usage_c)
print ('硬盘总io=' +str(disk_io))
print ('单个分区信息='+str(disk_io_perdisk))

'''
网络信息
'''
net_io = psutil.net_io_counters()   #获取网络总IO信息、默认pernic=False
net_io_pernic = psutil.net_io_counters(pernic=True) #获取每个网卡的io信息
net_connections = psutil.net_connections()#获取所有的连接信息
print (net_io)
print (net_io_pernic)
print (net_connections)

'''
其他系统信息
'''
users = psutil.users()      #当前登录系统的用户信息
import datetime
boot_time = psutil.boot_time() #获取开机时间,为linux格式
boot_time_nu = datetime.datetime.fromtimestamp(psutil.boot_time()).strftime('%Y-%m-%d%H:%M:%S') #转换为自然格式
print (users)
print (boot_time)
print (boot_time_nu)
  1. 2、系统进程管理
  2. #! /env python3
    #coding=utf-8
    import psutil
    '''
    进程信息
    '''
    pids = psutil.pids() #列出所有进程id
    pids_4644= psutil.Process(4644) #列出指定pid为4644的进程信息
    print (pids)
    print (pids_4644.name())    #输出进程名
    print (pids_4644.exe())     #输出进程路径
    print (pids_4644.cwd())     #输出绝对路径
    print (pids_4644.status())  #输出进程状态
    print (pids_4644.create_time()) #输出创建时间、时间戳格式
    #print (pids_4644.gid())        #输出进程gid信息
    print (pids_4644.cpu_times)     #输出cpu时间信息,包括user,system两个cpu时间
    print (pids_4644.cpu_affinity()) #get进程cpu亲和度
    print (pids_4644.memory_percent()) #进程利用率
    print (pids_4644.memory_info)    #进程内存信息
    print (pids_4644.io_counters())  #进程io信息,包括读写IO数及字节数
    print (pids_4644.connections())      #返回打开进程sockert的namedutples列表、包括fs,family等信息
    print (pids_4644.num_threads())     #进程开启的线程数
    
    '''
    popen类的使用
    '''
    import psutil
    from subprocess import PIPE   #通过psutil的popen方法启动的应用程序,可以跟踪该程序的所有相关信息

原文地址:http://blog.51cto.com/11555417/2088012

时间: 2024-11-10 16:33:11

python学习-psuti模块的相关文章

python学习--创建模块

昨天做了python客户端和服务器端通信,并把接收到的信息写到数据库,因为对数据库进行操作是个经常调用的行为,所以我想把调用数据库的操作写成一个module来给其它python程序调用,所以将昨天的服务器端程序拆分为两个文件: 1.主程序python.py #!/usr/bin/env python import socket import json import connmysql s = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0) h

Python学习--Selenium模块学习(2)

Selenium的基本操作 获取浏览器驱动寻找方式 1. 通过手动指定浏览器驱动路径2. 通过 `$PATH`环境变量找寻浏览器驱动 可参考Python学习--Selenium模块简单介绍(1) 控制浏览器访问URL browser.get(https://www.baidu.com/)   find系列函数定位元素 - `find_element_by_xxx` 返回第一个符合条件 `WebElement` - `find_elements_by_xxx` 返回符合条件所有元素包含了`WebE

Python学习--Selenium模块

1. Python学习--Selenium模块介绍(1) 2.Python学习--Selenium模块学习(2) 其他: 1. Python学习--打码平台 原文地址:https://www.cnblogs.com/ftl1012/p/seleniumAll.html

PYTHON学习第二模块 python内置模块介绍

1 >>> import time 2 >>> time.time() 3 1491064723.808669 4 >>> # time.time()返回当前时间的时间戳timestamp(定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数)的方法,无参数 5 >>> time.asctime() 6 'Sun Apr 2 00:39:32 2017' 7 >>> # time.asctim

Python学习(22):模块

转自 http://www.cnblogs.com/BeginMan/p/3183656.html 一.模块基础 1.模块 自我包含,且有组织的代码片段就是模块 模块是Pyhon最高级别的程序组织单元,它将程序代码和数据封装起来以便重用.实际的角度,模块往往对应Python程序文件. 每个文件都是一个模块,并且模块导入其他模块之后就可以使用导入模块定义的变量名.模块可以由两个语句和一个重要的内置函数进行处理. import: 使客户端(导入者)以一个整体获取一个模块. from:容许客户端从一个

Python学习笔记-模块

模块: 顶层文件(也是模块文件) 模块文件 模块在物理形式上表现为.py结尾的代码文件 Python中,模块本身也是对象,所以模块也有变量,函数,类 在一个模块的顶层定义的所有变量都在被导入时成为了被导入模块的属性 查看标准库模块: help('modules') 顶层文件:包含了程序的主要控制流程 模块文件:为顶层文件或其他模块提供各种功能组件 import module [,module1[,module2]]语句    导入模块 导入指定的整个模块,包括生成一个以模块名命名的名称空间 导入

Python学习笔记-模块介绍(三)-模块包和搜索路径

一个python文件就是一个模块,使用独立的命名空间,但实际使用过程中单单用模块来定义python功能显然还不够.因为一个大型的系统几千上万个模块是很正常的事情,如果都聚集在一起显然不好管理并且有命名冲突的可能,因此python中也出现了一个包的概念. 一.python中的包介绍 包是通过使用"点模块名称"创建Python模块命名空间的一种方法.列如,模块名称 A.B 表示一个在名为 A的包下的名为B的子模块.就像使用模块让不同模块的作者无需担心彼此全局变量名称(冲突)一样,点模块名称

python学习-OS模块

OS模块是python内建模块,主要是对大量文件和大量路径进行操作 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径. os.getenv()和os.putenv:分别用来读取和设置环境变量 os.listdir():返回指定目录下的所有文件和目录名 os.remove(file):删除一个文件

python学习-smtplib模块

python的stmplib模块可以实现邮件的发送功能,可以模拟一个smtp客户端.在python2.3或者更高版本默认自带smtplib模块,无需额外安装. 一.smtplibi模块的常用类与方法 smtp类定义:smtplib([host[,port[,local_hostname[,timeout]]]),作为smtp的构造函数,功能是与smtp服务器建立连接,在连接成功后,就可以向服务器发送相关请求,比如登录.校验.发送.退出等.host参数为远程smtp主机地址,比如smtp.163.