iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Python实现读取Linux系统的CPU以及内存占用
  • 536
分享到

Python实现读取Linux系统的CPU以及内存占用

摘要

直接贴代码 import subprocess def get_system_stats(): #de().strip() memory_result = subprocess.check_outpu

直接贴代码

import subprocess
 
def get_system_stats():
    #de().strip()
    memory_result = subprocess.check_output(memory_command, shell=True).decode().strip()
    
    # 转换结果为浮点数
    cpu_usage = float(cpu_result)
    memory_usage = float(memory_result)
    
    # 返回 CPU 使用率和内存使用率
    return cpu_usage, memory_usage
 
# 调用函数并获取结果
cpu_usage, memory_usage = get_system_stats()
print("CPU 使用率: ", cpu_usage)
print("内存使用率: ", memory_usage)

在上述示例中,get_system_stats 函数使用 subprocess 模块执行 shell 命令来获取系统的 CPU 使用率和内存使用率。通过 top 命令和 grep、awk 进行过滤和提取相关信息,并将结果转换为浮点数后返回。

代码解释:

cpu_command = "top -bn1 | grep '%Cpu(s)' | awk '{print $2}'"

让我们逐步解释这个命令的每个部分:

1.top -bn1: 这是 top 命令的参数,用于显示系统资源的实时使用情况。-b 表示以批处理模式运行,n1 表示只运行一次。

2.grep '%Cpu(s)': 这是 grep 命令的参数,用于在命令的输出中筛选包含 %Cpu(s) 的行。%Cpu(s) 是 top 命令输出中 CPU 使用率相关信息的标识。

3.awk '{print $2}': 这是 awk 命令的参数,用于提取每行的第二个字段并进行打印。在这里,awk 命令将提取第二个字段,即 CPU 使用率的数值。

综合起来,这个命令的作用是运行 top 命令获取系统资源信息,并通过管道传递给 grep 命令进行筛选,然后再传递给 awk 命令提取 CPU 使用率的数值。最终,cpu_command 变量会保存这个完整的 shell 命令字符串

python 代码中,subprocess.check_output(cpu_command, shell=True) 的作用是执行这个 shell 命令,并将输出结果以字符串的形式返回。

memory_command = "free | grep Mem | awk '{print $3/$2 * 100.0}'"

让我们逐步解释这个命令的每个部分:

1.free: 这是 free 命令,用于显示系统内存使用情况。

2.grep Mem: 这是 grep 命令的参数,用于筛选包含 "Mem" 的行,以过滤出与内存相关的信息。

3.awk '{print $3/$2 * 100.0}': 这是 awk 命令的参数,用于计算内存使用率。它提取每行的第三个字段(已使用内存)和第二个字段(总内存),然后将其相除并乘以 100,得到内存使用率。

综合起来,这个命令的作用是运行 free 命令获取系统内存信息,并通过管道传递给 grep 命令进行筛选,然后再传递给 awk 命令计算内存使用率。最终,memory_command 变量会保存这个完整的 shell 命令字符串。

Python 代码中,subprocess.check_output(memory_command, shell=True) 的作用是执行这个 shell 命令,并将输出结果以字符串的形式返回。

请注意,上述代码是一个示例,你可以根据你的需求和具体的 linux 系统进行适当的调整和改进。另外,需要确保你的 Python 环境中已经安装了相关的依赖和工具,以使 subprocess 模块能够正常工作。

结果如下:

Python实现读取Linux系统的CPU以及内存占用

知识补充

Python不仅可以读取linux系统的cpu以及内存占用,也可以读取Docker资源占用,下面是实现代码,需要的可以参考一下

函数内部使用该名称获取相应的容器对象,并计算 CPU 使用率和内存使用率。最后,函数返回这两个结果供调用者使用。

def get_container_stats(container_name):
    client = DockerClient()  # 假设你已经初始化了 Docker 客户端
    container = client.containers.get(container_name)
    
    stats = container.stats(stream=False)
    cpu_usage = 100 * stats['cpu_stats']['cpu_usage']['total_usage'] / stats['cpu_stats']['system_cpu_usage']
    memory_used = 100 * stats['memory_stats']['usage'] / stats['memory_stats']['limit']
    
    return cpu_usage, memory_used
 
# 调用函数并获取结果
container_name = 'ueransim-slice1'
cpu_usage, memory_used = get_container_stats(container_name)
print("CPU 使用率: ", cpu_usage)
print("内存使用率: ", memory_used)

到此这篇关于Python实现读取Linux系统的CPU以及内存占用的文章就介绍到这了,更多相关Python读取Linux系统CPU内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

--结束END--

本文标题: Python实现读取Linux系统的CPU以及内存占用

本文链接: https://www.lsjlt.com/news/214380.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现读取Linux系统的CPU以及内存占用
    直接贴代码 import subprocess def get_system_stats(): #de().strip() memory_result = subprocess.check_outpu...
    99+
    2023-05-20
    Python读取Linux系统CPU Python读取系统CPU Python读取内存占用
  • Python读取大文件的"坑“与内存占用
    python读写文件的api都很简单,一不留神就容易踩”坑“。笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码。 1.read()与readlines(): 随手搜索pyt...
    99+
    2023-01-30
    大文件 内存 Python
  • Android获取系统储存以及内存信息的方法(二)
    Android获取储存信息以及内存信息可以用adb命令查看。adb查看系统内存信息以及储存信息:命令:adb shell cat /proc/meminfo 代码: private static final String FILENAME_...
    99+
    2023-05-30
    android 系统储存 内存
  • Android编程如何实现获取系统内存、CPU使用率及状态栏高度的方法
    这篇文章将为大家详细讲解有关Android编程如何实现获取系统内存、CPU使用率及状态栏高度的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例讲述了Android编程实现获取系统内存、CPU使用...
    99+
    2023-05-30
    android cpu
  • Linux系统如何使用命令行的方式查看内存占用
    这篇文章给大家分享的是有关Linux系统如何使用命令行的方式查看内存占用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. /proc/meminfo一种最简单的方法是通过“/proc/meminfo”来检查内存...
    99+
    2023-06-28
  • Windows如何使用java过程获取操作系统磁盘以及内存信息
    这篇文章给大家分享的是有关Windows如何使用java过程获取操作系统磁盘以及内存信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 内存:先建立...
    99+
    2024-04-02
  • python实现监控指定进程的cpu和内存使用率
    为了测试某个服务的稳定性,通常需要在服务长时间运行的情况下,监控其资源消耗情况,比如cpu和内存使用 这里借助python的psutil这个包可以很方便的监控指定进程号(PID)的c...
    99+
    2024-04-02
  • 如何实现统计cpu内存和使用率的shell脚本代码
    这篇文章主要介绍了如何实现统计cpu内存和使用率的shell脚本代码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:#!/bin/shclearwhile ((1&g...
    99+
    2023-06-09
  • 怎么利用Shell脚本实现邮件监控Linux系统的内存
    这篇文章给大家介绍怎么利用Shell脚本实现邮件监控Linux系统的内存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具)**1、下载安...
    99+
    2023-06-28
  • 如何利用Shell脚本实现邮件监控Linux系统的内存
    这篇文章主要为大家展示了“如何利用Shell脚本实现邮件监控Linux系统的内存”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何利用Shell脚本实现邮件监控Linux系统的内存”这篇文章吧。...
    99+
    2023-06-15
  • UNIX系统下如何使用PHP实现高效的二维码存储和读取?
    随着移动互联网的发展,二维码已经成为了不可或缺的一部分。二维码的应用越来越广泛,从支付、门禁到广告宣传等等,都可以看到它的身影。而在这些应用中,二维码的存储和读取是非常重要的一环。在UNIX系统下,使用PHP实现高效的二维码存储和读取需要...
    99+
    2023-06-02
    unix 存储 二维码
  • 如何实现shell脚本监控linux系统内存使用情况
    本篇内容介绍了“如何实现shell脚本监控linux系统内存使用情况”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装linux下面的一...
    99+
    2023-06-09
  • python是怎样实现监控指定进程的cpu和内存使用率
    这篇文章给大家介绍python是怎样实现监控指定进程的cpu和内存使用率,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。为了测试某个服务的稳定性,通常需要在服务长时间运行的情况下,监控其资源消耗情况,比如cpu和内存使用...
    99+
    2023-06-22
  • 如何使用Python在Linux系统中实现高效的缓存和日志管理?
    Python是一种高级编程语言,它可以在Linux系统中实现高效的缓存和日志管理。在这篇文章中,我们将介绍如何使用Python在Linux系统中实现高效的缓存和日志管理。 缓存是一种存储数据的技术,它可以帮助我们快速地读取和写入数据。在Li...
    99+
    2023-10-10
    linux 缓存 日志
  • 怎么用命令行查看Linux的系统版本和内核版本以及机器字长
    本篇内容介绍了“怎么用命令行查看Linux的系统版本和内核版本以及机器字长”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!查看Linux版本1...
    99+
    2023-06-12
  • 如何使用MD5的检测方法以及shell脚本实现linux系统文件完整性检测
    如何使用MD5的检测方法以及shell脚本实现linux系统文件完整性检测,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天发现个可以检测系统文件完整性的shell脚本,自...
    99+
    2023-06-06
  • Python 使用netCDF4读写nc文件以及截取指定经纬度范围内的数据生成新的nc文件
    Python 使用netCDF4读写nc文件以及截取nc文件经纬度范围内的数据 简单介绍nc文件的读写操作,以及实现输入nc文件和坐标范围,输出一个新的nc文件的功能 环境 python3.8.13 ...
    99+
    2023-09-13
    python numpy
  • 怎么用linux系统more基本命令的实现python源码
    本篇内容主要讲解“怎么用linux系统more基本命令的实现python源码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用linux系统more基本命令的实现python源码”吧!实现li...
    99+
    2023-06-02
  • 如何使用Python和Spring实现Linux系统上的同步操作?
    在Linux系统上,同步操作是非常重要的一个功能。如果你想要在多个设备之间同步文件或数据,那么你需要一种可靠的方法来实现这个目标。在这篇文章中,我们将介绍如何使用Python和Spring实现Linux系统上的同步操作。 一、Python ...
    99+
    2023-10-05
    spring linux 同步
  • 如何使用Python和Bash在Linux系统中实现高效的响应?
    在现代计算机系统中,响应速度是至关重要的。无论是在企业级服务器上还是在个人电脑上,我们都需要确保系统能够快速响应用户的请求。在Linux系统中,Python和Bash是两种非常流行的编程语言,它们可以帮助我们实现高效的响应。本文将介绍如何...
    99+
    2023-11-05
    linux 响应 bash
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作