初探psutil
系统性能信息模块psutil
1,psutil简介
psutil是一个跨平台能够轻松获取系统的进程和系统利用率,主要应用在系统监控,分析和限制系统资源以及进程管理。它实现了很多系统管理的命令,如ps,lsof,netstat,who,free,uptime,tty.......,能够很方便的为我们管理系统。
2,psutil安装
#wget https://pypi.python.org/pypi/psutil/版本 #解压 #cd 切换到目录 #python setup.py install
3,psutil获取系统性能信息
3.1,获取cpu信息
user time 执行用户进程的时间百分比:
system time 执行内核进程和中断的时间百分比;
wait IO
Idle cpu处于空闲状态的时间百分比
常用方法:
import psutil psutil.cpu_times() #使用该方法获取完整cpu信息,需要显示所有逻辑cpu信息。 psutil.cpu_times(percpu=True) #指定方法变量 psutil.cpu_times().user #获取单项数据信息 psutil.cpu_count()# 获取cpu逻辑个数 psutil.cpu_count(logical=False) #获取cpu的物理个数
3.2获取磁盘信息
在系统管理中我们,我们对于磁盘信息更加关注磁盘利用率,以及IO信息
常用方法如下:
psutil.disk_partitions() #获取磁盘完整信息 psutil.disk_usage #获取磁盘利用率,分区使用情况 psutil.disk_io_counters() #获取磁盘总的IO个数 psutil.disk_io_counters(perdisk=True) #获取单个分区IO个数
3.3,获取网络信息
其中主要包含几点bytes_sent(发送字节数),bytes_recv,packets_sent(发送数据包数),packets_recv等 如下常用方法 psutil.net_io_counters() #获取总的网络IO数默认为pernic=False psutil.net_io_counters(pernic=True) #输出每个网络接口IO信息
3.4,内存信息
内存信息我们主要关注,total,used,free,buffers,cache,swap,
如下常用的;
mem=psutil.virtual_memory() #获取内存完整信息 psutil.swap_memory() #获取swap分区信息 men.total mem.free .......
3.5,关于其他的一些信息
如还支持获取用户登陆,开机时间等等信息
如下
psutil.users() #获取当前系统的用户信息
。。。。。
4,获取进程信息
psutil.pids() #获取所有进程PID psutil.Process() #获取单个进程的名称,路径,状态,系统资源利用率等信息 首先实例化 p=psutil.Process(2424) p.name() #进程名 p.exe() #进程bin的路径 p.cwd() #进程工作目录绝对路径 p.status() #进程状态 p.uids()/gids() #获取进程的uid,gid p.cpu_times() #进程cpu的时间信息 p.memory_percent() #进程内存利用率 p.memory_info() #进程内存rss,vms信息 p.num_threads() #进程开启的线程数 p.io_counters() #进程IO信息,包括读写IO数以及字节数
5,popen的简单使用
如下
import psutil
from subprocess import PIPE
p = psutil.Popen(['/usr/bin/python','-c','print('hello')'],stdout=PIPE) #通过该方法Popen启动程序,可以跟踪程序运行的所有相关信息
例如
p.name()
p.username()
p.communicate() #输出的结果
..............更多,如上边。。。。
初探psutil的更多相关文章
- 初探领域驱动设计(2)Repository在DDD中的应用
概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...
- CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探
CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...
- 从273二手车的M站点初探js模块化编程
前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...
- JavaScript学习(一) —— 环境搭建与JavaScript初探
1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...
- .NET文件并发与RabbitMQ(初探RabbitMQ)
本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址:http://www.cnblogs.com/tdws/p/5860668.html 想必MQ这两个字母对于各位前辈们和老司 ...
- React Native初探
前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...
- psutil 模块
psutil.pids()查看单个进程p = psutil.Process(2423) p.name() #进程名p.exe() #进程的bin路径p.cwd() #进程的工作目录绝对 ...
- python之系统性能信息模块psutil
系统性能信息模块psutil 跨平台库 轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息. 主要用于系统监控,分析和限制系统资源及进程的管理 实现同等命令行工具提供的功能( ...
- 【手把手教你全文检索】Apache Lucene初探
PS: 苦学一周全文检索,由原来的搜索小白,到初次涉猎,感觉每门技术都博大精深,其中精髓亦是不可一日而语.那小博猪就简单介绍一下这一周的学习历程,仅供各位程序猿们参考,这其中不涉及任何私密话题,因此也 ...
随机推荐
- 输出国际象棋&&输出余弦曲线
输出国际象棋棋盘 #include <stdio.h> #include <stdlib.h> #include <windows.h> int main(){ i ...
- 第8章 用户模式下的线程同步(1)_Interlocked系列函数
8.1 原子访问:Interlocked系列函数(Interlock英文为互锁的意思) (1)原子访问的原理 ①原子访问:指的是一线程在访问某个资源的同时,能够保证没有其他线程会在同一时刻访问该资源. ...
- ComboBox的联动
窗体搭建: 实现功能: 加载年级下拉框 选中年级时加载出科目下拉框 加载年级下拉框: 第一步,在DAL层中写一个方法,检索所有的年级名称集合,返回的是泛型集合List<> public L ...
- 另类Unity热更新大法:代码注入式补丁热更新
对老项目进行热更新 项目用纯C#开发的? 眼看Unity引擎热火朝天,无数程序猿加入到了Unity开发的大本营. 一些老项目,在当时ulua/slua还不如今天那样的成熟,因此他们选择了全c#开发:也 ...
- maven操作
Java 编程入门(系列) Python数据分析与挖掘经典案例实战 "我的2016"主题征文活动 关闭 maven仓库--私服(Nexus的配置使用) 2013 ...
- NLog 通过http保存日志
from:https://github.com/NLog/NLog/wiki/WebService-target Example config: <nlog throwExceptions='t ...
- mysql 判断 字段是否为空
SB.Append("select "); SB.Append("mpe.EVIDENCE_ID "); SB.Append("left join m ...
- MVC 多级目录(控制器) 路由重写 及 多级Views目录 的寻找视图的规则
转自:[原]Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来 ...
- codevs 3369 膜拜
3369 膜拜 http://codevs.cn/problem/3369/ 题目描述 Description 神牛有很多-当然-每个同学都有自己衷心膜拜的神牛.某学校有两位神牛,神牛甲和神牛乙.新入 ...
- 解决 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载
先安装了 IIS ,再安装了 .net framework4.0 ,这样一来就要在cmd下注册.net framework4.0 步骤 第一步:修改配置文件 %windir%/system32/ine ...