리소스 활용도를 높이도록 가상 머신(VM) 인스턴스의 GPU 사용률을 추적할 수 있습니다.
GPU 사용률을 알면 리소스를 자동 확장하는 데 사용할 수 있는 관리형 인스턴스 그룹 설정과 같은 작업을 수행할 수 있습니다.
Cloud Monitoring을 사용하여 GPU 측정항목을 검토하려면 다음 단계를 완료하세요.
- 각 VM에서 GPU 측정항목 보고 스크립트 설정을 수행합니다. 이 스크립트는 GPU 측정항목 보고 에이전트를 설치합니다. 이 에이전트는 VM에서 일정한 간격으로 실행되어 GPU 데이터를 수집하고 이 데이터를 Cloud Monitoring에 전송합니다.
- 각 VM에서 스크립트를 실행합니다.
- 각 VM에서 부팅 시 자동으로 시작되도록 GPU 측정항목 보고 에이전트를 설정합니다.
- Cloud Monitoring에서 로그를 봅니다.
필요한 역할
Windows VM에서 GPU 성능을 모니터링하려면 다음 원칙에 필요한 Identity and Access Management (IAM) 역할을 부여해야 합니다.
- VM 인스턴스에서 사용하는 서비스 계정
- 사용자 계정
나와 VM의 서비스 계정에 Windows VM에서 GPU 성능을 모니터링하는 데 필요한 권한이 있는지 확인하려면 관리자에게 나와 VM의 서비스 계정에 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1
) -
모니터링 측정항목 작성자(
roles/monitoring.metricWriter
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
관리자는 커스텀 역할이나 다른 사전 정의된 역할을 통해 사용자와 VM의 서비스 계정에 필요한 권한을 부여할 수도 있습니다.
GPU 측정항목 보고 스크립트 설정
요구사항
각 VM에서 다음 요구사항이 충족되는지 확인합니다.
- 각 VM에는 GPU 연결이 완료된 상태여야 합니다.
- 각 VM에는 GPU 드라이버 설치가 완료된 상태여야 합니다.
스크립트 다운로드
관리자 권한으로 PowerShell 터미널을 열고 Invoke-WebRequest
명령어를 사용하여 스크립트를 다운로드합니다.
Invoke-WebRequest
는 PowerShell 3.0 이상에서 사용할 수 있습니다.
Google Cloud에서는 ctrl+v
를 사용하여 복사된 코드 블록을 붙여넣을 것을 권장합니다.
mkdir c:\google-scripts cd c:\google-scripts Invoke-Webrequest -uri https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-monitoring/main/windows/gce-gpu-monitoring-cuda.ps1 -outfile gce-gpu-monitoring-cuda.ps1
스크립트 실행
cd c:\google-scripts .\gce-gpu-monitoring-cuda.ps1
부팅 시 자동으로 시작되도록 에이전트 구성
시스템 부팅 시 실행되도록 GPU 측정항목 보고 에이전트가 설정되었는지 확인하려면 다음 명령어를 사용하여 에이전트를 Windows Task Scheduler에 추가합니다.
$Trigger= New-ScheduledTaskTrigger -AtStartup $Trigger.ExecutionTimeLimit = "PT0S" $User= "NT AUTHORITY\SYSTEM" $Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "C:\google-scripts\gce-gpu-monitoring-cuda.ps1" $settingsSet = New-ScheduledTaskSettingsSet # Set the Execution Time Limit to unlimited on all versions of Windows Server $settingsSet.ExecutionTimeLimit = 'PT0S' Register-ScheduledTask -TaskName "MonitoringGPUs" -Trigger $Trigger -User $User -Action $Action -Force -Settings $settingsSet
Cloud Monitoring에서 측정항목 검토
Google Cloud 콘솔에서 측정항목 탐색기 페이지로 이동합니다.
측정항목 선택 메뉴를 확장합니다.
리소스 메뉴에서 VM 인스턴스를 선택합니다.
측정항목 카테고리 메뉴에서 커스텀을 선택합니다.
측정항목 메뉴에서 차트로 작성할 측정항목을 선택합니다. 예를 들면
custom/instance/gpu/utilization
입니다.적용을 클릭합니다.
다음 결과와 유사한 GPU 사용률이 출력됩니다.
사용 가능한 측정항목
측정항목 이름 | 설명 |
---|---|
instance/gpu/utilization |
GPU에서 하나 이상의 커널이 실행되었던 지난 샘플 기간 동안의 시간 비율입니다. |
instance/gpu/memory_utilization |
전역(기기) 메모리를 읽거나 쓴 지난 샘플 기간 동안의 시간 비율입니다. |
instance/gpu/memory_total |
설치된 총 GPU 메모리입니다. |
instance/gpu/memory_used |
활성 컨텍스트로 할당된 총 메모리입니다. |
instance/gpu/memory_used_percent |
활성 컨텍스트로 할당된 총 메모리의 백분율입니다. 범위는 0%~100%입니다. |
instance/gpu/memory_free |
총 여유 메모리입니다. |
instance/gpu/temperature |
코어 GPU 온도(섭씨(°C)입니다. |
다음 단계
- GPU 호스트 유지보수를 처리하려면 GPU 호스트 유지보수 이벤트 처리를 참조하세요.
- 네트워크 성능을 향상시키려면 더 높은 네트워크 대역폭 사용을 참조하세요.