728x90
OOM(Out Of Memory)문제로, 더 이상 실행을 위해 할당할 메모리가 남지 않았다는 의미이다. 아래와 같은 방법으로 문제를 해결할 수 있다.
1. 코드 시작 부분에서 메모리 캐시 비우는 코드 추가하기
import gc
import torch
gc.collect()
torch.cuda.empty_cache()
그래도 해결되지 않는 경우 아래의 명령어로 어디에 얼마나 쓰이는지 알 수 있다. 또한 강제로 프로세스를 종료함으로써 문제를 해결할 수 있다.
2. 직접 프로세서 종료시키기
1) command line에서 nvidia-smi 명령어로 메모리 확인
nvidia-smi
2) command line에서 ps aux | grep python 명령어로 실행중인 파이썬 파일의 프로세스 ID를 볼 수 있다.
ps aux | grep python
3) 빨간 색으로 표시한 ID 18, 즉 가장 위에 나오는 PID를 kill한다.
kill -9 18
# kill -9 18 10754 --> 잉처럼 프로세스 여러 개를 한꺼번에 kill할 수도 있다.
원래 그런지는 모르겠으나 맨 위의 프로세스 id 하나를 kill 했더니 모든 프로세스가 종료되고 맨 아래 프로세스(파랑색으로 표시)만 남았다.
맨 아래 가장 최신의 프로세스는 kill이 안되는 것 같다. pid를 입력해서 kill해봤자 계속 pid가 바뀌면서 내가 입력한 프로세스는 없다고 나온다.("No such process"라는 문구가 나온다.)
4) 위의 과정을 모두 거치고 다시 파이썬 파일을 실행시켜보면 정상 작동할 것이다.
728x90
'TIL저장소' 카테고리의 다른 글
[프로그래머스/파이썬] 오픈채팅방 (0) | 2022.04.04 |
---|---|
[백준/파이썬] 11047번 동전 0 (0) | 2022.04.04 |
[AI Interview] TF-IDF 점수는 무엇이며 어떤 경우 유용한가요? (0) | 2022.03.25 |
[AI Interview] Weight Initialization 방법 (0) | 2022.03.24 |
[AI Interview] 차원의 저주란? (0) | 2022.03.24 |