pip install psutil

获取内存信息:

>>> import psutil
>>> mem = psutil.virtual_memory()  #获取内存完整信息
>>> mem.total  #获取内存总数
8010080256
>>> mem.used  #获取内存空闲数
4246765568

  

获取CPU信息:

>>> psutil.cpu_times()    #显示CPU信息
scputimes(user=253743.4577502, system=85613.45800069999, idle=1441121.8095010999
, interrupt=23814.738257599998, dpc=2544.7039121000003)
>>> psutil.cpu_times(percpu=True)  #显示所有CPU信息
[
scputimes(user=91456.9746589, system=21885.34908980003, idle=331843.96999129996,interrupt=1167.7454855, dpc=412.5758447),
scputimes(user=51238.871652199996,system=35647.80411009997, idle=358299.0563741, interrupt=21236.5253307, dpc=1596.6858350999998),
scputimes(user=100969.21363439999, system=23486.262552, idle=320730.13114919997, interrupt=493.66516449999995, dpc=104.1774678),
scputimes(user=10093.6079022, system=4604.509915900009, idle=430487.3647167, interrupt=922.4807132999999, dpc=431.5611664)
]
>>> psutil.cpu_times().user  #获取单项数据信息
253767.450704
>>> psutil.cpu_count()  #获取CPU个数
4
>>> psutil.cpu_count(logical=False)  #获取物理CPU个数(实际上是线程数除以2)。
2
>>> psutil.swap_memory()  #获取SWAP分区信息
sswap(total=16018214912, used=10366255104, free=5651959808, percent=64.7, sin=0,
sout=0)

  

  

磁盘信息:

psutil.disk_usage  磁盘利用率

  磁盘IO信息包括:

    read_count(读IO数)write_count(写IO数)

    read_bytes(IO读字节数)write_bytes(IO写字节数)

    read_time(磁盘读时间)write_time(磁盘写时间)

psutil.disk_partitions  获取磁盘完整信息

psutil.disk_usage  获取分区的使用情况

psutil.disk_io_counters('/')  获取磁盘IO信息

psutil.disk_io_counters(perdisk=True)  按分区获取IO信息

>>> psutil.disk_partitions()
[sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed'), sd
iskpart(device='D:\\', mountpoint='D:\\', fstype='NTFS', opts='rw,fixed'), sdisk
part(device='E:\\', mountpoint='E:\\', fstype='NTFS', opts='rw,fixed'), sdiskpar
t(device='F:\\', mountpoint='F:\\', fstype='CDFS', opts='ro,cdrom')] >>> psutil.disk_usage('c:\\')
sdiskusage(total=107375226880, used=80557694976, free=26817531904, percent=75.0) >>> psutil.disk_usage('d:\\')
sdiskusage(total=429497774080, used=58469056512, free=371028717568, percent=13.6
) >>> psutil.disk_io_counters()
sdiskio(read_count=10022230, write_count=5844260, read_bytes=389997929984, write
_bytes=241317355520, read_time=1362723, write_time=1205422) >>> psutil.disk_io_counters(perdisk=True)
{'PhysicalDrive0': sdiskio(read_count=10022230, write_count=5844325, read_bytes=
389997929984, write_bytes=241317739008, read_time=1362723, write_time=1205422)}
>>>

  

网络信息

psutil.net_io_counters()

bytes_sent  发送字节数

bytes_recv  接收字节数

packets_sent  发送数据包数

packets_recv  接收数据包数

>>> psutil.net_io_counters()
snetio(bytes_sent=87020660, bytes_recv=748546277, packets_sent=609921, packets_r
ecv=486979, errin=0, errout=5429, dropin=0, dropout=0)
>>>
>>> psutil.net_io_counters(pernic=True)
{
'Npcap Loopback Adapter': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0),
'Bluetooth 网络连接': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0),
'本地连接': snetio(bytes_sent=87012318, bytes_recv=748543604, packets_sent=604977, packets_recv=486965, errin=0, errout=0, dropin=0, dropout=0),
'VMware Network Adapter VMnet8': snetio(bytes_sent=4901, bytes_recv=0, packets_sent=4901, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0),
'Loopback Pseudo-Interface 1': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0),
'isatap.{49CF5090-D237-4A65-8E97-5BF88A0C7F1F}': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0),
'6TO4 Adapter': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=5428, dropin=0, dropout=0), 'isatap.{095E0AA1-265B-449D-8284-C2C534AF37BC}': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0),
'isatap.{449A948D-21F4-43F9-BE38-6D3568A5DD76}': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0),
'isatap.{2B95C896-6750-4C13-A6D1-FFC407250CBF}': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0),
'Teredo Tunneling Pseudo-Interface': snetio(bytes_sent=5092, bytes_recv=4104, packets_sent=62, packets_recv=27, errin=0, errout=1, dropin=0, dropout=0)
}

  

  

其他信息:

>>> psutil.users()    #获取当前登录系统的用户信息
[suser(name='Administrator', terminal=None, host='0.0.0.0', started=1563846388.0
, pid=None)]
>>> psutil.boot_time()  #获取开机时间
1563846338.0
>>> import datetime
>>> datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M
:%S")
'2019-07-23 09:45:38'

  

  

python监控模块的更多相关文章

  1. python 内存监控模块之memory_profiler

    0. memory_profiler是干嘛的 This is a python module for monitoring memory consumption of a process as wel ...

  2. 老男孩python第六期

    01 python s6 day7 上节回顾02 python s6 day7 SNMP使用03 python s6 day7 大型监控架构讲解04 python s6 day7 Redis使用05 ...

  3. Python 加持,给你更有趣的 Azure 虚拟机开关重启方法!

    在程序员的世界里,有关编程语言孰优孰劣的争论从来就没有消停过,不管你更粉哪种语言,毫无疑问,每种语言都有自己擅长的领域,而一些语言因为上手简单.扩展性强.功能强大等因素,往往会比较多地出现在我们面前, ...

  4. Python—其它模块

    系统监控模块psutil(第三方模块) psutil是一个跨平台的库,用于在Python中检索系统运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息.它主要用于系统监控,性能分析,进程管 ...

  5. Python自动化运维技术与最佳实现

    第一章 系统基础信息模块详解 系统基础信息采集模块最为监控模块的重要组成部分,能够帮助运维人员了解当前系统的健康程度,同时也是衡量业务的服务质量的依据,比如系统资源吃紧,会直接影响业务的质量以及用户的 ...

  6. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  7. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  8. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  9. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

随机推荐

  1. TIJ——Chapter Four:Controlling Execution

    同上一章,本章依然比较简单.基础,因此只是做一些总结性的笔记. 1. 不像C和C++那样(0是假,非零为真),Java不允许用一个数字作为boolean值. 2. C中,为了给变量分配空间,所有变量的 ...

  2. I/O模型: 阻塞、非阻塞、I/O复用、同步、异步

    I/O模型不论在实际使用还是准备笔试面试中都是重要的内容,参考Unix网络编程进行总结如下.(尤其注意红色标注处) 1. 明确I/O考察的对象和流程 参考Unix网络编程,一个输入操作通常包括两个不同 ...

  3. iOS runtime整理

    iOS利用Runtime自定义控制器POP手势动画 http://www.cocoachina.com/ios/20150401/11459.html  Objective C运行时(runtime) ...

  4. SDUT-3342_数据结构实验之二叉树三:统计叶子数

    数据结构实验之二叉树三:统计叶子数 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 已知二叉树的一个按先序遍历输入的字符 ...

  5. Python基础:26模块

    一:模块和文件 1:模块是逻辑上组织 Python 代码的方法,文件是物理层上组织模块的方法.因此,一个文件被看作是一个独立模块,一个模块也可以被看作是一个文件. 模块的文件名就是模块的名字加上扩展名 ...

  6. 现代IM系统中的消息系统架构 - 模型篇

    前言 在架构篇中我们介绍了现代IM消息系统的架构,介绍了Timeline的抽象模型以及基于Timeline模型构建的一个支持『消息漫游』.『多端同步』和『消息检索』多种高级功能的消息系统的典型架构.架 ...

  7. Open Source GIS and Freeware GIS Applications

    Open Source GIS and Freeware GIS Applications   An open source application by definition is software ...

  8. 源映射错误:request failed with status 404

    源映射错误:request failed with status 404:源映射错误:request failed with status 404

  9. 洛谷P1449 后缀表达式 题解 栈

    题目链接:https://www.luogu.org/problem/P1449 这道题目我们只需要开一个栈,每次读取到一个数的话就将这个数 push 进栈. 因为提供给我们的时候已经是一个后续序列了 ...

  10. 2018-4-29-C#-将dll打包到程序中

    title author date CreateTime categories C# 将dll打包到程序中 lindexi 2018-04-29 09:43:22 +0800 2018-2-13 17 ...