세상에서 제일 짜증나는 상황 중 하나..
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를 사용할 때 생기는 문제라는 거를 알아냈다
'Code 공부 > tool 및 code 실행법' 카테고리의 다른 글
[github] cli authentic error (github 아이디, 토큰 로컬에 저장하기) (0) | 2023.10.12 |
---|---|
[환경세팅] pytorch3d 가상환경 세팅 시 trial and error 로그 (1) | 2023.04.20 |
[tensorboard] linux 원격 server에서 킨 tensorboard window local에서 사용하기 (0) | 2022.10.21 |
[Nvidia DALI] Data loading library DALI 공부 - 01 (0) | 2022.10.14 |
[python] import 상대경로 한번에 해결하기 (0) | 2022.07.13 |