리소스 활용도를 높이도록 가상 머신(VM) 인스턴스의 GPU 사용률을 추적할 수 있습니다.
GPU 사용률을 알면 리소스를 자동 확장하는 데 사용할 수 있는 관리형 인스턴스 그룹 설정과 같은 작업을 수행할 수 있습니다.
Cloud Monitoring을 사용하여 GPU 측정항목을 검토하려면 다음 단계를 완료하세요.
- 각 VM에서 GPU 측정항목 보고 스크립트 설정을 수행합니다. 이 스크립트는 GPU 측정항목 보고 에이전트를 설치합니다. 이 에이전트는 VM에서 일정한 간격으로 실행되어 GPU 데이터를 수집하고 이 데이터를 Cloud Monitoring에 전송합니다.
- 각 VM에서 스크립트를 실행합니다.
- 각 VM에서 부팅 시 자동으로 시작되도록 GPU 측정항목 보고 에이전트를 설정합니다.
- Google Cloud Cloud Monitoring에서 로그를 봅니다.
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 호스트 유지보수 이벤트 처리를 참조하세요.
- 네트워크 성능을 향상시키려면 더 높은 네트워크 대역폭 사용을 참조하세요.