系统资源实时监控脚本(python)

一个Python脚本,利用psutil和GPUtil库实时监控系统CPU、内存和NVIDIA GPU使用情况。自动检测GPU,显示CPU使用率、内存/显存占用(GB,保留1位小数),每2秒刷新一次。

作者:zhuge··预计阅读 6 分钟·5,399 阅读·0 评论
系统资源实时监控脚本(python)

该脚本会自动检测系统环境,支持NVIDIA显卡的GPU信息获取,并会处理没有GPU的情况。显示信息使用GB作为显存单位,百分比数据保留1位小数

import time
import os

try:
    import psutil
except ImportError:
    print("请先安装psutil库:pip install psutil")
    exit()

try:
    import GPUtil
except ImportError:
    print("请先安装GPUtil库:pip install gputil")
    exit()

def get_gpu_info():
    try:
        gpus = GPUtil.getGPUs()
        if gpus:
            gpu = gpus[0]
            return {
                "load": gpu.load * 100,
                "memory_used": gpu.memoryUsed / 1024,
                "memory_total": gpu.memoryTotal / 1024
            }
        return None
    except Exception as e:
        return None

def get_memory_info():
    mem = psutil.virtual_memory()
    return {
        "used": mem.used / (1024**3),  # 转换为GB
        "total": mem.total / (1024**3),
        "percent": mem.percent
    }

while True:
    # 获取系统信息
    cpu_usage = psutil.cpu_percent(interval=2)
    mem_info = get_memory_info()
    gpu_info = get_gpu_info()
    
    # 清屏
    os.system('cls' if os.name == 'nt' else 'clear')
    
    # 显示系统信息
    print("=== 系统资源监控(每隔2秒刷新) ===")
    print(f"CPU使用率: {cpu_usage:.1f}%")
    print(f"内存使用: {mem_info['used']:.1f}/{mem_info['total']:.1f} GB ({mem_info['percent']:.1f}%)")
    
    if gpu_info:
        mem_percent = (gpu_info["memory_used"] / gpu_info["memory_total"]) * 100
        print(f"GPU使用率: {gpu_info['load']:.1f}%")
        print(f"显存使用: {gpu_info['memory_used']:.1f}/{gpu_info['memory_total']:.1f} GB ({mem_percent:.1f}%)")
    else:
        print("GPU信息: 未检测到可用GPU")
    
    print("\
(按Ctrl+C退出监控)")

相关文章

评论

加载中...