CPU GPU 사용량 로깅(in GCP) - 100-hours-a-week/5-yeosa-wiki GitHub Wiki

1. 로깅용 스크립트 파일 저장

#!/bin/bash

# 첫 번째 인자로 로그 파일 이름 받기 (기본값: system_usage_log.csv)
LOG_PATH=${1:-system_usage_log.csv}
INTERVAL=1  # 초 단위

# 헤더가 없으면 추가
if [ ! -f "$LOG_PATH" ]; then
  echo "timestamp,cpu_percent,gpu_summary" >> "$LOG_PATH"
fi

while true; do
  TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')

  # CPU 사용률 (user + system)
  CPU_RAW=$(top -bn1 | grep '%Cpu(s)' | awk '{print $2 + $4}')
	CPU_USAGE="${CPU_RAW}%"

  # GPU 사용 정보 요약 (여러 줄을 한 줄로 통합)
  GPU_USAGE=$(gpustat --no-color | tail -n +2 | tr '\n' ' ' | sed 's/  */ /g' | sed 's/,$//')

  # 로그 저장
  echo "$TIMESTAMP,$CPU_USAGE,\"$GPU_USAGE\"" >> "$LOG_PATH"

  sleep $INTERVAL
done

2. 권한 변경

chmod +x [저장 파일 이름(]

# 예시
chmod +x log.sh

3. 실행

./log.sh [저장 파일 이름]
  • 예시

    mkdir log
    
    ./log.sh log/gpu_batch_16.csv
    # 종료는 ctrl + c
    
  • 확인

    vi log/gpu_batch_16.csv
    
  • 결과

    [년월일 시각],[CPU 사용률(%)], [GPU 사용률]
    2025-06-12 01:21:33,0%,"[0] Tesla T4 | 45'C, 0 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:34,0%,"[0] Tesla T4 | 45'C, 0 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:36,0%,"[0] Tesla T4 | 45'C, 0 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:37,1.6%,"[0] Tesla T4 | 45'C, 0 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:39,27%,"[0] Tesla T4 | 45'C, 0 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:40,94.5%,"[0] Tesla T4 | 46'C, 80 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:42,84.6%,"[0] Tesla T4 | 47'C, 35 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:43,92.4%,"[0] Tesla T4 | 49'C, 35 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:45,92.4%,"[0] Tesla T4 | 50'C, 32 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:46,95.5%,"[0] Tesla T4 | 51'C, 51 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:48,94%,"[0] Tesla T4 | 50'C, 19 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:49,95.6%,"[0] Tesla T4 | 51'C, 39 % | 1914 / 15360 MB | eeokee52(1480M) "
    2025-06-12 01:21:51,83.6%,"[0] Tesla T4 | 51'C, 70 % | 1914 / 15360 MB | eeokee52(1480M) "