python psutil模块用法示例

参考:http://www.jbxue.com/python/29871.htm

 

1,获取系统性能信息

1)cpu信息

返回内容中关键字的列表中项的意义(自己的理解,详细解释参考此文章):

  • user  用户态使用的cpu时间
  • system 系统态使用的cpu时间
  • idle 空闲的cpu时间
  • nice (UNIX) 用做nice(进程的优先级修正值)加权的进程分配的用户态cpu时间
  • iowait (Linux) cpu等待磁盘写入完成时间
  • irq (Linux, FreeBSD) 硬中断消耗时间
  • softirq (Linux) 软中断消耗时间
  • steal (Linux 2.6.11+) 虚拟机偷取时间
  • guest (Linux 2.6.24+) 访客状态下使用的cpu时间
  • guest_nice (Linux 3.2.0+) 访客状态下做nice加权的进程分配的用户态cpu时间

 

>>> print u"CPU 个数 %s"%psutil.cpu_count() 
CPU 个数 1
>>> print u"物理CPU个数 %s"%psutil.cpu_count(logical=False) 
物理CPU个数 1

>>> psutil.cpu_count(logical=True)
1
>>> psutil.cpu_times()
scputimes(user=541.82, nice=1.32, system=781.5, idle=11678.47, iowait=42.81, irq=3.14, softirq=3.56, steal=0.0, guest=0.0)
>>> psutil.cpu_percent()
1.1
>>> psutil.cpu_times_percent()
scputimes(user=0.5, nice=0.0, system=0.5, idle=98.6, iowait=0.2, irq=0.0, softirq=0.0, steal=0.0, guest=0.0)

2)内存信息

total, 内存总量

used, 已使用的内存数

free, 空闲内存数

buffers, 缓冲区使用数

swap, 交换分区使用数

>>> psutil.swap_memory()
sswap(total=3221221376L, used=0L, free=3221221376L, percent=0.0, sin=0, sout=0)
>>> psutil.virtual_memory()
svmem(total=1036587008L, available=697393152L, percent=32.7, used=877322240L, free=159264768L, active=243052544, inactive=459927552, buffers=44429312L, cached=493699072)

3)磁盘信息

磁盘利用率及IO信息

read_count,读IO数

write_count,写IO数

read_bytes,读IO字节数

write_count,写IO字节数

read_time,磁盘读时间

write_time,磁盘写时间

>>> psutil.disk_partitions()
[sdiskpart(device=‘/dev/sda3‘, mountpoint=‘/‘, fstype=‘ext4‘, opts=‘rw‘), sdiskpart(device=‘/dev/sda1‘, mountpoint=‘/boot‘, fstype=‘ext4‘, opts=‘rw‘)]
>>> psutil.disk_usage(‘/‘)
sdiskusage(total=28090511360, used=3418284032, free=23238459392, percent=12.2)
>>> psutil.disk_usage(‘/boot‘)
sdiskusage(total=296236032, used=33723392, free=246784000, percent=11.4)
>>> psutil.disk_io_counters(‘perdisk=False/True‘)
{‘sda2‘: sdiskio(read_count=328, write_count=0, read_bytes=1470464, write_bytes=0, read_time=281, write_time=0), ‘sda3‘: sdiskio(read_count=12427, write_count=8975, read_bytes=392832000, write_bytes=192872448, read_time=95939, write_time=102753), ‘sda1‘: sdiskio(read_count=500, write_count=3, read_bytes=2026496, write_bytes=9216, read_time=237, write_time=2)}

 

4)网络信息

bytes_sent,发送字节数

packets_sent,接收字节数

packets_sent,发送数据包数

packets_sent,接收数据包数

>>> psutil.net_io_counters(pernic=False/True)
snetio(bytes_sent=64530, bytes_recv=817240, packets_sent=887, packets_recv=2600, errin=0, errout=0, dropin=0, dropout=0)

5)其他系统信息

用户登录、开机时间

>>> psutil.users()
[suser(name=‘wst‘, terminal=‘tty1‘, host=‘localhost‘, started=1436421376.0), suser(name=‘wst‘, terminal=‘pts/0‘, host=‘localhost‘, started=1436427392.0), suser(name=‘wst‘, terminal=‘pts/1‘, host=‘localhost‘, started=1436429696.0)]
>>> psutil.boot_time()
1436421348.0

2,系统进程管理方法

1)进程信息

2)popen类的使用

import psutil
from subprocess import PIPE
p = pstuil.Popen([‘/etc/init.d/mysqld’,’-c’,’start’],stdout=PIPE)

通过psutil的Popen方法启动的应用程序,可以跟踪该程序运行的所有信息。

时间: 2024-10-12 14:34:08

python psutil模块用法示例的相关文章

Python登录模块Demo示例

Python登录模块Demo示例: #!/usr/bin/env python # This content comes from alex. while True:     NAME = raw_input("Please input your name:\n")     if NAME == 'alex':         P = '123'         PASSWD = raw_input("Please input your password:\n")

python datetime模块用法

python datetime模块用法 1. 创建naive(无时区信息)的datetime对象 import datetime dt_utc = datetime.datetime.utcnow() dt_utc # datetime.datetime(2019, 2, 1, 10, 53, 34, 145034) dt_utc.tzinfo # None dt_local = datetime.datetime.now() dt_local.tzinfo # None # tzinfo为No

Python psutil 模块

Python psutil 模块 psutil是一个跨平台库,可以获取系统的运行进程和系统利用的资源(CPU.内存.磁盘.网络)等信息.他主要应用于系统监控,分析和限制系统资源及进程管理.他实现了同等工具提供的功能,如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap等.支持32位与64位的linux,windos,os x,freeb sd,su

Python shutil模块用法实例分析

本文主要介绍了Python shutil模块用法,结合实例形式分析了Python使用shutil模块操作文件拷贝的相关实现技巧与注意事项,需要的朋友可以参考下: shutil模块 主要作用与拷贝文件用的. 1.shutil.copyfileobj(文件1,文件2):将文件1的数据覆盖copy给文件2. 1 import shutil 2 f1 = open("1.txt",encoding="utf-8") 3 f2 = open("2.txt"

Python ConfigParser模块常用方法示例

 在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在Python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介绍.      Python ConfigParser模块解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项,比如:      [db]     db_host=192.168.1.1    db_port=3306    db_

python pillow模块用法

pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持python2和python3,目前最新版本是3.0.0. Pillow的Github主页:https://github.com/python-pillow/Pillow Pillow的文档(对应版本v3.0.0): https://pillow.readthedocs.org/en/latest/handb

Python psutil模块

psutil模块是一个跨平台的获取进程和系统应用情况(CPU,内存,磁盘,网络,传感器)的库.该模块用于系统监控.限制进程资源和运行进程的管理等方面. psutil实现了很多unix平台命令行(ps|top|lsof|netstat|ifconfig|who|df|kill|free|nice|ionice|iostat|iotop|uptime|pidof|tty|taskset|pmap|)功能的类似函数,方便利用. http://psutil.readthedocs.io/en/lates

Python collections 模块用法举例

Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块.比如今天想给大家 介绍的 collections 就是一个非常好的例子. 1.collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型: 1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类 2.deque: 双端队列,可以快速

Python tesserocr模块使用示例

操作系统:Win10 1709  X64 python版本:3.6.5 依赖模块:PIL.tesserocr. 需要说明的是,在windows系统上PowerShell通过PIP3 install tesserocr安装验证码识别模块时,需要先安装Tesseract (一款由HP实验室开发由Google维护的开源OCR(Optical Character Recognition , 光学字符识别)引擎,与Microsoft Office Document Imaging(MODI)相比,我们可以