ETC/Trouble Shooting
CUDA error: out of memory
elliz
2023. 9. 10. 18:19
모델을 가져오는 과정에서 다음과 같은 에러 발생 시, 해결과정에 대한 내용을 작성하였습니다.
CUDA error: out of memory

원인은 다음 중 하나일 것입니다.
- 실행 중인 프로세스가 GPU 메모리를 차지하고 있다. ▶ 사용하지 않는 프로세스를 종료한다
- 코드 실행에 필요한 GPU 메모리가 부족하다 ▶ 메모리 요구량을 줄인다 (예: batch_size 축소)
해결방법
- 실행 중인 프로세스 확인
nvidia-smi 명령어를 사용하여 실행 중인 프로세스를 확인합니다.
저자의 경우, GPU 메모리의 대부분을 차지하는 두 개의 프로세스가 있음을 확인했습니다.

다음 명령어를 통해 실행 중인 프로세스를 종료하여 GPU 메모리를 확보합니다.
- kill 옵션
- 9: 강제 종료(kill)
- 15: 정상 종료(terminating)
$ kill -15 [PID]

- 실행 중인 프로세스가 없다면
해당 코드를 실행하기에 GPU 메모리가 부족하다는 것입니다.
이럴 때는 batch size를 줄여보거나 GPU 메모리를 구입하면 해결될 것입니다.