IT/리눅스

cpu, ram 사용량 및 gpu, gpu ram 사용량 실시간 확인하기

빗자루검 2024. 2. 26. 15:08
반응형

개발을 하다보면 리소스 모니터링을 해야할 일이 많습니다. 

그중 특히 CPU와 GPU의 사용량과 메모리는 필수 인데요.

 

실시간으로 GPU와 CPU 사용량을 모니터링하기 위해, psutil과 GPUtil 라이브러리를 사용할 수 있습니다.

psutil은 시스템과 프로세스 유틸리티에 대한 정보를 제공하며,

GPUtil은 NVIDIA GPU들의 상태를 모니터링하는 데 사용됩니다.

먼저, psutil과 GPUtil이 설치되어 있지 않다면 설치해야 합니다. 

 

1. 패키지 설치 하기 


> pip install psutil 

> pip install gputil

 

 

2. 모니터링 코드 작성 

 

이제 간단하게 모니터링 코드를 작성해 봅시다. 

 

import psutil
import GPUtil
from time import sleep

def get_gpu_usage():
    gpus = GPUtil.getGPUs()
    for gpu in gpus:
        print(f"GPU {gpu.id}: {gpu.name}")
        print(f"  GPU Load: {gpu.load*100}%")
        print(f"  GPU Free Memory: {gpu.memoryFree}MB")
        print(f"  GPU Used Memory: {gpu.memoryUsed}MB")
        print(f"  GPU Total Memory: {gpu.memoryTotal}MB")
        print(f"  GPU Temperature: {gpu.temperature} C")
    if not gpus:
        print("No GPU found.")

def get_cpu_ram_usage():
    print(f"CPU Usage: {psutil.cpu_percent()}%")
    ram = psutil.virtual_memory()
    print(f"RAM Used: {ram.used/1024**3:.2f}GB")
    print(f"RAM Total: {ram.total/1024**3:.2f}GB")
   
if __name__ == '__main__' :
    while True:
        print("Getting system usage...")
        get_gpu_usage()
        get_cpu_ram_usage()
        sleep(5)  # 5초 간격으로 업데이트


결과를 확인해 보겠습니다. 

 

Getting system usage...
GPU 0: NVIDIA GeForce GTX 1080 Ti
  GPU Load: 0.0%
  GPU Free Memory: 11156.0MB
  GPU Used Memory: 16.0MB
  GPU Total Memory: 11264.0MB
  GPU Temperature: 31.0 C
CPU Usage: 15.0%
RAM Used: 2.35GB
RAM Total: 11.45GB     

 

꽤 유용하겠죠???     

반응형