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%.很多人年轻人会选择编 ...
随机推荐
- 进入BIOS中,设置U盘启动
进入BIOS中,一般有system,boot,main,advanced,security等几个选项,main是主设置界面,譬如BIOS时间等等.boot是启动项的设置,我们今天就是要用到它. 找到b ...
- React Native开源项目如何运行(附一波开源项目)
学习任何技术,最快捷的方法就是学习完基础语法,然后模仿开源项目进行学习,React Native也不例外.React Native推出了1年多了, 开源项目太多了,我们以其中一个举例子.给大家演示下如 ...
- Inventor安装失败怎样卸载重新安装Inventor,解决Inventor安装失败的方法总结
技术帖:Inventor没有按照正确方式卸载,导致Inventor安装失败.楼主也查过网上关于如何解决Inventor安装失败的一些文章,是说删除几个Inventor文件和Inventor软件注册表就 ...
- Vue电商后台管理系统项目第1天-基本环境搭建&登录功能
基本环境搭建完成 安装npm包:npm -S i vue vue-router axios element-ui 配置Eslint: 打开设置,搜索Eslint拓展,然后将下面代码覆盖进去即可 { , ...
- React Native声明属性和属性确认
属性声明 因为用React Native创建的自定义组件可以复用, 我们开发过程中可能一个项目组有多个人同时开发,其他同事可能会用到我们自定义的组件, 但是他们使用的时候很容易忘记使用某些属性,这时候 ...
- Python--day69--ORM查询的13种方法
ORM查询的13种方法: 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> ...
- Python 基础 --初识Python
python的起源 python是一门 解释型弱类型编程语言. 特点: 简单.明确.优雅 python的解释器 CPython. 官方提供的. 内部使用c语言来实现 PyPy. 一次性把我们的代码解释 ...
- 注意 Laravel 清除缓存 php artisan cache:clear 的一个坑
Laravel 的命令 php artisan cache:clear 用来清除各种缓存,如页面,Redis,配置文件等缓存,它会清空 Redis 数据库的全部数据,比如默认使用的 Redis 的 数 ...
- hdu 3934 Summer holiday (凸包+旋转卡壳)
Problem - 3934 晚上为了演示给师弟看水平序的凸包是多么的好写,于是就随便找了一题凸包,25min居然1y掉了.. 代码如下: #include <cmath> #includ ...
- 横向tab计算滚动位置
React横向滚动计算 class Footer extends React.Component { handleClick(e) { const offset = 150; // 指定偏移量 thi ...