세상에서 제일 짜증나는 상황 중 하나..

nvidia-smi하면 GPU util은 분명 먹고 있으나 process name에는 안잡히는 상황이 종종 생긴다 

생긴다고 듣기만 했지 내가 만난 적은 두번째였고 

첫번째는 선배가 알아서 꺼줘서 내가 해결해본적이 없어서 오늘은 내가 해결해야했다 ! 

 

일단 첫번째는 구글링 & chatGPT.. 

chatGPT의 추천대로 

nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv

위 커맨드로 검색하니 진짜 PID는 나온다 !! 

 

근데 PID는 뜨는데 kill -9 PID를 치면 No such process라고 뜨는 얼척 없는 상황 발생..?

 

대충 이런 상황이 내가 쓰던 메모리들이

CPU-GPU단에서 기존 프로세스 종료할 때 종료되지 않고

잔여한 상황이라는 거는 알아서 PID로 정상적으로 한번에 종료되진 않을 수도 있다고는 생각했지만

뭐라고 검색해야할 지 몰라서 막막한 상황...

 

결국 htop가 nvidia-smi보다 정확할테니 

htop로 들어간 후 MEM 기준으로 sorting하니 상위 프로세스가 떠서 

상위에 뜨는 PID들을 하나하나씩 다 삭제해주니 결국 util이 0이 되었다 

참고로 htop에 뜨는 PID들은 아주 많았고, 위 커맨드로 찾은 8292는 아니었다..

왜 그런지는 자세히는 모르고, 깔끔한 해결책을 찾은 것도 아니지만 일단 해결했으니 아카이빙 😇

 

+) 추가: 이 GPU 유령 memory 문제는 대부분 DDP module이나 dist 모듈 등 

multi GPU를 사용할 때 생기는 문제라는 거를 알아냈다

+ Recent posts