psuti模块

python关于获取当前系统的状态
系统性能信息模块 psutil  #可跨平台
psutil是一个跨平台库,轻松获取系统运行的进程和系统利用率
能实现ps、top、lso、nice、netstat、ifconfig、who、df、kill、free
ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap 这些命令的功能
首先确定下当前系统有没有psutil模块
import psutil
如果有的话,就直接导入模块成功,如果没有,就会提示错误
然后到官网上下载psutil-2.0.0.tar.gz源码包
tar -zxf psutil-2.0.0.tar.gz & cd psutil-2.0.0
python setup.py install
读取cpu的整个信息
import psutil
psutil.cpu_times()  #显示cpu的整个信息
获取单项值
psutil.cpu_times() .user   #如果要只但看那个的话就在后边加上.xxx就行了
获取cpu的逻辑个数
psutil.cpu_count()
获取cpu的物理个数
psutil.cpu_count( logical=False )
读取内存信息
linux系统内存利用率信息涉及to-tal(内存总数),used(以使用内存),free(空闲内存),buffers(缓冲使用数)
cache(缓存使用数),swap(交换分区使用数),分别使用psutil.virtual_memory()与psuti.swap_memory()方法获取
import psuti
mem = psuti.virtual_memory()  #获取内存的完整信息
mem.total    #获取内存总数
mem.free     #获取空闲的内存信息
获取swap分区信息
psutil.swap_memory()
读取磁盘参数
磁盘利用率使用psutil.disk_usage方法获取,磁盘IO信息包括read_count(读IO数),write_count(写IO数)
read_bytes(IO写字节数),read_time(磁盘读时间),write_time(磁盘写时间),这些IO信息用psutil.disk_io_counters()
获取磁盘的完整信息
psutil.disk_partitions()
获取分区表的参数
psutil.disk_usage(‘/‘)   #获取/分区的状态
获取硬盘IO总个数
psutil.disk_io_counters()
获取单个分区IO个数
psutil.disk_io_counters(perdisk=True)    #perdisk=True参数获取单个分区IO个数
读取网络信息
网络信息与磁盘IO信息类似,涉及到几个关键点,包括byes_sent(发送字节数),byte_recv=xxx(接受字节数),
pack-ets_sent=xxx(发送字节数),pack-ets_recv=xxx(接收数据包数),这些网络信息用psutil.net_io_counters()
psutil.net_io_counters()   #获取网络总IO信息
psutil.net_io_counters(pernic=True)     #pernic=True输出网络每个接口信息
获取当前系统用户登录信息
psutil.users()
获取开机时间
import psutil, datetime
psutil.boot_time()    #以linux时间格式返回
datetime.datetime.fromtimestamp(psutil.boot_time ()).strftime("%Y-%m-%d %H: %M: %S") #转换成自然时间格式

系统进程管理
获取当前系统的进程信息,获取当前英语程序的运行状态,包括进程的启动时间,查看设置CPU亲和度,内存使用率,IO信息
socket连接,线程数等
获取进程信息
psutil模块在获取进程方面有很好的支持,使用psutil.pids()方法获取所有进程的PID,
使用psutil.Process()方法获取单个进程的名称,路径状态等
查看系统全部进程
psutil.pids()
查看单个进程
p = psutil.Process(2423) 
p.name()   #进程名
p.exe()    #进程的bin路径
p.cwd()    #进程的工作目录绝对路径
p.status()   #进程状态
p.create_time()  #进程创建时间
p.uids()    #进程uid信息
p.gids()    #进程的gid信息
p.cpu_times()   #进程的cpu时间信息,包括user,system两个cpu信息
p.cpu_affinity()  #get进程cpu亲和度,如果要设置cpu亲和度,将cpu号作为参考就好
p.memory_percent()  #进程内存利用率
p.memory_info()    #进程内存rss,vms信息
p.io_counters()    #进程的IO信息,包括读写IO数字及参数
p.connectios()   #返回进程列表
p.num_threads()  #进程开启的线程数
听过psutil的Popen方法启动应用程序,可以跟踪程序的相关信息
from subprocess import PIPE
p = psutil.Popen(["/usr/bin/python", "-c", "print(‘hello‘)"],stdout=PIPE)
p.name()
p.username()

时间: 2024-11-13 08:05:13

psuti模块的相关文章

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的

python之psutil模块获取系统信息

psuti是一个跨平台,能够轻松实现获取系统运行进程,系统利用率信息,主要用于系统监控,分析和限制系统资源及进程管理. psutil为第三方模块,通过pip安装模块. 获取cpu信息 1.cpu信息2.User Time:执行用户进程的时间百分比3.System Time:执行内核进程和中断的时间百分比4.Wait IO 由于IO等待而使CPU处于idle空闲状态的时间百分比5.Idle,CPU处于idle状态的时间百分比 ######获取cpu的物理个数 >>> psutil.cpu_

Pyhton模块学习

rrdtool: rrdtool可直接用pip install python-rrdtool import rrdtool 创建:create(...)create(args..): Set up a new Round Robin Database create filename [--start|-b start time] [--step|-s step] [DS:ds-name:DST:heartbeat:min:max] [RRA:CF:xff:steps:rows] filename

python获取系统状态psutil模块

python关于获取当前系统的状态系统性能信息模块 psutil  #可跨平台psutil是一个跨平台库,轻松获取系统运行的进程和系统利用率能实现ps.top.lso.nice.netstat.ifconfig.who.df.kill.freeionice.iostat.iotop.uptime.pidof.tty.taskset.pmap 这些命令的功能首先确定下当前系统有没有psutil模块import psutil如果有的话,就直接导入模块成功,如果没有,就会提示错误然后到官网上下载psu

python运维开发常用模块(一)psutil

1.模块简介 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻 松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网 络等)信息.它主要应用于系统监控,分析和限制系统资源及进程的管 理.它实现了同等命令行工具提供的功能,如ps.top.lsof.netstat. ifconfig.who.df.kill.free.nice.ionice.iostat.iotop.uptime. pidof.tty.taskset.pmap等.目前

Day5 - 常用模块学习

本节大纲: 模块介绍(模块导入方法) time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 模块,用一堆代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又

c# 无法加载xxx.dll 找不到指定的模块(如何指定文件夹)

如果直接放在项目运行目录,例如bin/debug可以直接加载,但是这样比较乱. 如果在放debug里面的一个文件夹里面,有可能会报错“无法加载xxx.dll 找不到指定的模块”. 如果路径写成这样就会报错 framework/linphone 解决方法:将/ 改成"\" framework\linphone

LEDAPS1.3.0版本移植到windows平台----HuCsm云掩膜模块

这个是2012年左右放在百度空间的,谁知百度空间关闭...转移到博客园. 最近项目用到3.1.2版本的LEDAPS,新版本的使用情况会在后续文章中慢慢丰富. HuCsm是将LEDAPS项目中的TM/ETM+大气校正流程系列算法中的云掩膜模块由linux系统移植到windows下的产物,代码本身改动不大,使用接口不变. 包含文件: HuCsm.exe hd423m.dll hm423m.dll 编译程序需要包含的静态库有: gctp.lib hdfeos.lib hd423m.lib hm423m

Python学习系列----第五章 模块

5.1 如何引入模块 在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入.在调用math模块中的函数时,必须这样引用: 模块名.函数名 有时候我们只需要用到模块中的某个函数,只需要引入该函数即可,此时可以通过语句 from 模块名 import 函数名1,函数名2.... 5.2 如何定义自己的模块 在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字. 比如有这样一个文件test.py