首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python脚本获取系统CPU内存状态信息

在IT运维中,通常需要对系统的运行状态进行监控并及时告警,以便排查和规避风险。

Python中提供了相应的类库用于获取系统相关状态信息,方便了运维的监控。

一、psutil类库简介

psutil类库官方文档地址:

https://pypi.org/project/psutil

psutil(进程和系统实用程序)是一个跨平台库,用于检索Python中运行的进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。

它主要用于系统监控、分析和限制进程资源以及管理正在运行的进程。它实现了经典UNIX命令行工具提供的许多功能,如ps、top、iotop、lsof、netstat、ifconfig、free等。

二、psutil类库安装

pip install psutil

三、通过psutil获取系统状态信息

获取CPU信息

import psutil

# CPU物理核心数

cpu_count_physical = psutil.cpu_count(logical=False)

print(f"物理核心数:")

# CPU逻辑核心数

cpu_count = psutil.cpu_count(logical=True)

print(f"逻辑核心数:")

# CPU的使用率

cpu_percent = psutil.cpu_percent(interval=1)

print(f"CPU使用率:%")

获取内存信息

# 物理内存总量

total_memory = psutil.virtual_memory().total

print("物理内存总量:",total_memory,"bytes(字节)")

# 可用内存总量

available_memory = psutil.virtual_memory().available

print("可用内存总量:",available_memory,"bytes(字节)")

# 内存使用率

memory_percent = psutil.virtual_memory().percent

print("内存使用率:",memory_percent,"%")

获取磁盘分区信息

# 磁盘分区

disk_partitions = psutil.disk_partitions()

print("磁盘分区",disk_partitions)

获取网卡信息

# 网卡IP地址信息

net_if_addrs = psutil.net_if_addrs()

print("网卡IP地址信息",net_if_addrs)

四,完整Python代码

import psutil

# CPU物理核心数

cpu_count_physical = psutil.cpu_count(logical=False)

print("物理核心数:" ,cpu_count_physical)

# CPU逻辑核心数

cpu_count = psutil.cpu_count(logical=True)

print("逻辑核心数:",cpu_count)

# CPU的使用率

cpu_percent = psutil.cpu_percent(interval=1)

print("CPU使用率:",cpu_percent,"%")

# 物理内存总量

total_memory = psutil.virtual_memory().total

print("物理内存总量:",total_memory,"bytes(字节)")

# 可用内存总量

available_memory = psutil.virtual_memory().available

print("可用内存总量:",available_memory,"bytes(字节)")

# 内存使用率

memory_percent = psutil.virtual_memory().percent

print("内存使用率:",memory_percent,"%")

# 磁盘分区

disk_partitions = psutil.disk_partitions()

print("磁盘分区",disk_partitions)

# 网卡IP地址信息

net_if_addrs = psutil.net_if_addrs()

print("网卡IP地址信息",net_if_addrs)

以上代码主要是获取了系统状态信息,但获取信息不是最终目的,而是根据实际业务需求确定是录入数据库用以分析、实时看板展示、还是告警通知等等。针对这些业务需求还需要做额外的工作。

以上列举的是比较基本的使用方法,psutil还有很多更高级的功能及用法,具体参见官方的psutil文档。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O_zjSGrUSHUUaIPfcBZOS3Sw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券