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%.很多人年轻人会选择编 ...
随机推荐
- 两种最常用的 HTTP 方法:GET 和 POST。
什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信. HTTP 的工作方式是客户机与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用程 ...
- QT_OPENGL-------- 2.shader
用可编程管线绘制一个三角形 1.以上一节window为基准,进行绘制. 2.下载编译glew,并在.pro添加动态链接,并在头文件中引用. LIBS +=-L/usr/lib64 -lGLEW 可能根 ...
- 基于Tablestore Tunnel的数据复制实战
前言 数据复制主要指通过互联的网络在多台机器上保存相同数据的副本,通过数据复制方案,人们通常希望达到以下目的:1)使数据在地理位置上更接近用户,进而降低访问延迟:2)当部分组件出现故障时,系统依旧可以 ...
- HZOJ trade
强烈谴责$skyh$的没$\Huge 脸$行为. 很经典的可反悔贪心,然而我一直以为是sbdp还一直想着怎么优化…… 正常的贪心肯定是不对的. 但是由于A-C=A-B+B-C, 所以用一个小根堆维护, ...
- shell学习(19)- find查找命令
Linux find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录 ...
- mysql列转行 行转列
列转行 SELECT flag ,substring_index(substring_index(t.context,), ) as result FROM ( select 'aa' as flag ...
- header发送Cookie
Cookie传达给客户端的原理 平时执行setcookie('key1', 'value1');这样的代码时,浏览器就会收到cookie并保存,但我们并不能从echo出去的内容中看到cookie内容 ...
- [USACO07JAN]区间统计Tallest Cow
前缀和 sum[i]表示前i个数的和 每次读入a[i]的时候 sum[i] = sum[i - 1] + a[i]; 查询l ~ r区间的和: sum[r] - sum[l - 1] 差分 即前缀和的 ...
- Streamy 解决办法
- include 语句中使用双引号与括号有什么区别?
Include 的语法 你在学习如何构造函数时,看到了不同的 include 语句: # include <iostream> # include "distance.h&quo ...