📜  如何在 Python 中获取当前的 CPU 和 RAM 使用情况? - Python (1)

📅  最后修改于: 2023-12-03 14:52:31.060000             🧑  作者: Mango

如何在 Python 中获取当前的 CPU 和 RAM 使用情况?

在 Python 中,我们可以使用多种方式来获取当前的 CPU 和 RAM 使用情况。下面我们将介绍其中两种常用的方式。

获取 CPU 使用情况
方式 1:使用 psutil 库

psutil 是一个跨平台的 Python 库,可以用来获取系统的 CPU、内存、磁盘、网络等信息。下面是一个示例代码:

import psutil

# 获取 CPU 占用率百分比
cpu_percent = psutil.cpu_percent()

# 获取 CPU 数量
cpu_count = psutil.cpu_count()

print("CPU 占用率: %0.2f%%" % cpu_percent)
print("CPU 数量: %s" % cpu_count)

上述代码中,cpu_percent() 函数返回的是 CPU 占用率百分比,而 cpu_count() 函数返回的是 CPU 数量。

方式 2:使用系统命令

除了使用 Python 库外,我们还可以通过执行系统命令来获取 CPU 使用情况。下面是一个示例代码:

import subprocess

# 执行系统命令,并将输出结果转换为字符串类型
output = subprocess.check_output("top -bn1 | grep 'Cpu(s)' | awk '{print $2 + $4}'", shell=True).decode().strip()

print("CPU 占用率: %s%%" % output)

上述代码中,我们执行了 top 命令来获取 CPU 占用率,并使用 grepawk 工具过滤出所需的结果。

获取 RAM 使用情况
方式 1:使用 psutil 库

除了可以获取 CPU 使用情况外,psutil 库还可以用来获取系统的内存使用情况。下面是一个示例代码:

import psutil

# 获取内存信息
virtual_memory = psutil.virtual_memory()

# 计算已使用内存大小和占比
used_memory = virtual_memory.used / (1024 * 1024)
used_memory_percent = virtual_memory.percent

print("已使用内存: %.2f MB" % used_memory)
print("内存占用率: %d%%" % used_memory_percent)

上述代码中,virtual_memory() 函数返回的是一个内存信息的对象,包含了内存总量、已使用内存、空闲内存等信息。我们可以根据需要,计算出已使用内存大小和占比。

方式 2:使用系统命令

除了使用 Python 库外,我们还可以通过执行系统命令来获取内存使用情况。下面是一个示例代码:

import subprocess

# 执行系统命令,并将输出结果转换为字符串类型
output = subprocess.check_output("free -m | awk 'NR==2{printf \"%.2f%%\", $3*100/$2 }'", shell=True).decode().strip()

print("内存占用率: %s" % output)

上述代码中,我们执行了 free 命令来获取内存使用情况,并使用 awk 工具过滤出所需的结果。

以上就是在 Python 中获取当前的 CPU 和 RAM 使用情况的两种常用方式。根据实际需求,我们可以选择其中的一种或多种方式来获取系统的硬件资源使用情况。