python监控模块
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监控模块的更多相关文章
- python 内存监控模块之memory_profiler
0. memory_profiler是干嘛的 This is a python module for monitoring memory consumption of a process as wel ...
- 老男孩python第六期
01 python s6 day7 上节回顾02 python s6 day7 SNMP使用03 python s6 day7 大型监控架构讲解04 python s6 day7 Redis使用05 ...
- Python 加持,给你更有趣的 Azure 虚拟机开关重启方法!
在程序员的世界里,有关编程语言孰优孰劣的争论从来就没有消停过,不管你更粉哪种语言,毫无疑问,每种语言都有自己擅长的领域,而一些语言因为上手简单.扩展性强.功能强大等因素,往往会比较多地出现在我们面前, ...
- Python—其它模块
系统监控模块psutil(第三方模块) psutil是一个跨平台的库,用于在Python中检索系统运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息.它主要用于系统监控,性能分析,进程管 ...
- Python自动化运维技术与最佳实现
第一章 系统基础信息模块详解 系统基础信息采集模块最为监控模块的重要组成部分,能够帮助运维人员了解当前系统的健康程度,同时也是衡量业务的服务质量的依据,比如系统资源吃紧,会直接影响业务的质量以及用户的 ...
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
随机推荐
- TIJ——Chapter Four:Controlling Execution
同上一章,本章依然比较简单.基础,因此只是做一些总结性的笔记. 1. 不像C和C++那样(0是假,非零为真),Java不允许用一个数字作为boolean值. 2. C中,为了给变量分配空间,所有变量的 ...
- I/O模型: 阻塞、非阻塞、I/O复用、同步、异步
I/O模型不论在实际使用还是准备笔试面试中都是重要的内容,参考Unix网络编程进行总结如下.(尤其注意红色标注处) 1. 明确I/O考察的对象和流程 参考Unix网络编程,一个输入操作通常包括两个不同 ...
- iOS runtime整理
iOS利用Runtime自定义控制器POP手势动画 http://www.cocoachina.com/ios/20150401/11459.html Objective C运行时(runtime) ...
- SDUT-3342_数据结构实验之二叉树三:统计叶子数
数据结构实验之二叉树三:统计叶子数 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 已知二叉树的一个按先序遍历输入的字符 ...
- Python基础:26模块
一:模块和文件 1:模块是逻辑上组织 Python 代码的方法,文件是物理层上组织模块的方法.因此,一个文件被看作是一个独立模块,一个模块也可以被看作是一个文件. 模块的文件名就是模块的名字加上扩展名 ...
- 现代IM系统中的消息系统架构 - 模型篇
前言 在架构篇中我们介绍了现代IM消息系统的架构,介绍了Timeline的抽象模型以及基于Timeline模型构建的一个支持『消息漫游』.『多端同步』和『消息检索』多种高级功能的消息系统的典型架构.架 ...
- Open Source GIS and Freeware GIS Applications
Open Source GIS and Freeware GIS Applications An open source application by definition is software ...
- 源映射错误:request failed with status 404
源映射错误:request failed with status 404:源映射错误:request failed with status 404
- 洛谷P1449 后缀表达式 题解 栈
题目链接:https://www.luogu.org/problem/P1449 这道题目我们只需要开一个栈,每次读取到一个数的话就将这个数 push 进栈. 因为提供给我们的时候已经是一个后续序列了 ...
- 2018-4-29-C#-将dll打包到程序中
title author date CreateTime categories C# 将dll打包到程序中 lindexi 2018-04-29 09:43:22 +0800 2018-2-13 17 ...