系统性能定时监控Python&Linux

系统性能定时监控

1.系统监控概述

⽤Python来编写脚本简化⽇常的运维⼯作是Python的⼀个重要⽤途。在Linux下,有许多系统命令可以让我们时刻监控系统运⾏的状态,如 ps , top , free 等等。要获取这些系统信息,Python可以通过 subprocess 模块调⽤并获取结果。但这样做显得很麻烦,尤其是要写很多解析代码。

2. psutil

在Python中获取系统信息的另⼀个好办法是使⽤ psutil 这个第三⽅模块。
psutil ,是 python system and process utilities 的缩写,意思python的系统监控及进程的管理的⼯具,是⼀个功能很强⼤的跨平台的系统管理库。可以实现命令⾏中类似ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop等等命令的功能,并且以python内置的数据结构形式返回,官⽅⽂档(https://pythonhosted.org/psutil/) ⽬前psutil⽀持的系统有linuxwindow os X 和freeBSD等.

1.1. psutil 安装

psutil是⼀个第三⽅的开源项⽬,因此,需要先安装才能够使⽤。

pip3 install psutil

1.2 psutil 版本查看

使⽤python3 进⼊交互模式,查看版本

1.3 常⻅功能

获取CPU信息

psutil.cpu_xxx()







python 复制代码
# 1.导入psutil 模块
import psutil

# 2.获取CPU信息
# 2.1 获取CPU的核心数
print(psutil.cpu_count()) # 12
# 获取物理的核心数
print(psutil.cpu_count(logical=False)) # 8
# 2.2 获取CPU的使用率
print(psutil.cpu_percent(interval=0.5)) # 5.2
# 获取每个核心的使用率
print(psutil.cpu_percent(interval=0.5,percpu=True))
# [3.1, 0.0, 0.0, 0.0, 3.1, 0.0, 0.0, 0.0, 0.0, 0.0, 21.9, 43.8]

# 3.获取内存信息
# 3.1 内存的整体信息
print(psutil.virtual_memory())
# svmem(total=16890322944, available=373940224, percent=97.8, used=16516382720, free=373940224)
# 3.2 内存的使用率
print(psutil.virtual_memory().percent)

# 4.获取硬盘信息
# 4.1 获取硬盘的分区信息
print(psutil.disk_partitions())
# 4.2 可以获取指定目录的磁盘信息
print(psutil.disk_usage('/'))
# 4.3硬盘的使用率
print(psutil.disk_usage('/').percent)

# 5.获取网络信息
# 5.1 获取受到的数据包数量
print(psutil.net_io_counters().bytes_recv) #字节为单位
# 5.2 获取发送的数据包数量
print(psutil.net_io_counters().bytes_sent)

# 6.获取开机时间
print(psutil.boot_time()) # 格林尼治时间 单位秒

# ...

实战 - 系统性能监控 基础版











注意: 这个意思是只有都当程序独立运行才会执行这个监控










相关推荐
岁忧1 小时前
GoLang五种字符串拼接方式详解
开发语言·爬虫·golang
tyatyatya1 小时前
MATLAB基础数据类型教程:数值型/字符型/逻辑型/结构体/元胞数组全解析
开发语言·matlab
程序员小远2 小时前
软件测试之单元测试详解
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
青青草原技术员灰太狼2 小时前
Nginx的https搭建
linux·服务器·网络
xu_yule2 小时前
网络和Linux网络-4(应用层)序列化和反序列化(网络计算器)
linux·网络
心无旁骛~2 小时前
python多进程和多线程问题
开发语言·python
星云数灵2 小时前
使用Anaconda管理Python环境:安装与验证Pandas、NumPy、Matplotlib
开发语言·python·数据分析·pandas·教程·环境配置·anaconda
kaikaile19952 小时前
基于遗传算法的车辆路径问题(VRP)解决方案MATLAB实现
开发语言·人工智能·matlab
计算机毕设匠心工作室3 小时前
【python大数据毕设实战】青少年抑郁症风险数据分析可视化系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习
后端·python
计算机毕设小月哥3 小时前
【Hadoop+Spark+python毕设】智能制造生产效能分析与可视化系统、计算机毕业设计、包括数据爬取、Spark、数据分析、数据可视化、Hadoop
后端·python·mysql