linux系统使用python获取cpu信息脚本分享


在Linux系统中,你可以使用Python的`psutil`库来获取CPU信息。`psutil`(process and system utilities)是一个跨平台库,用于获取系统运行的进程和系统利用率(如CPU、内存、磁盘、网络等)的信息。

首先,你需要确保你的环境中安装了`psutil`。如果没有安装,你可以通过pip安装它:


pip install psutil

然后,你可以使用以下Python脚本来获取CPU信息:


import psutil
import os

# 获取CPU的逻辑数量(即线程数)
logical_cores = psutil.cpu_count(logical=True)
print(f"Logical CPU Cores: {logical_cores}")

# 获取CPU的物理核心数
physical_cores = psutil.cpu_count(logical=False)
print(f"Physical CPU Cores: {physical_cores}")

# 获取CPU的最大频率
max_freq = psutil.cpu_freq().max
print(f"Max CPU Frequency: {max_freq} MHz")

# 获取CPU当前频率
current_freq = psutil.cpu_freq().current
print(f"Current CPU Frequency: {current_freq} MHz")

# 获取CPU的百分比使用率(可能需要一点时间来稳定显示)
# 注意:这会是一个浮点数
usage_percent = psutil.cpu_percent(interval=1)
print(f"CPU Usage Percent: {usage_percent}%")

# 获取CPU的时间使用情况,单位为秒
# 这将返回一个包含(用户/系统/空闲/iowait/irq/softirq/steal/guest/guest_nice)时间的命名元组
times = psutil.cpu_times()
print("CPU Times:", times)

# 示例:打印用户时间和系统时间
print(f"User Time: {times.user:.2f}s, System Time: {times.system:.2f}s")

这个脚本提供了多种CPU信息的获取方式,包括逻辑核心数、物理核心数、最大和当前CPU频率、CPU使用率,以及CPU的时间使用情况。

请注意,`cpu_percent()` 函数默认不会立即返回CPU使用率,因为它需要一定的时间来计算。通过设置`interval`参数,你可以指定一个时间间隔(以秒为单位),在这段时间内,`psutil`会计算CPU的使用率。如果你将`interval`设置为0或None,它将立即返回最近一次调用`cpu_percent()`时的值(如果有的话),这通常不是一个准确的实时值。