728x90
vLLM으로 LLM 모델을 하나 띄웠는데, 중단했는데 자꾸 GPU에 메모리가 잡혀 있는 현상 발생...
다른 모델 하나 더 띄우려고 하니까 OOM(Out of Memory) 에러나서
gpu를 점유하고 있는 프로세스를 종료하려고 했으나,
nvidia-smi로 조회해도 PID가 조회가 안된다...ㅎㅎ
보통은 아래와 같이 내가 돌린 커맨드에 따라 실행중인 프로세스의 PID를 조회하고 해당 프로세스를 종료하면 되는데..
ps -elf | grep [nohup, python, vllm 등 찾고자 하는 커맨드 키워드]
kill -9 [PID]
아무리 찾아도 안나옴.
심지어 학습을 돌린게 아니라서 torch.cuda.empty_cache(): 전혀 작동 안됨. 애초에 학습 혹은 테스트 코드 프로세스가 잡혀있지 않음.
그래서 특정 gpu를 강제로 메모리 초기화 시켜주려고 하다가 아래 방법을 찾았다.
sudo fuser -v /dev/nvidia*
nvidia-smi말고 GPU에서 실행되는 프로세스를 확인할 수 있다고 한다.
우선 fuser를 설치해야 하는데, 설치 명령어는 아래와 같다.
apt-get install psmisc # fuser 설치
이 명령어로 확인했더니 정말 nvidia-smi에 잡히지 않았던 프로세스가 존재했다.
6번째 gpu에 있는 프로세스 중 main_thread로 적힌 저 2놈!
뭔가 의심스러워서 해당 프로세스를 조회해봤는데,, 잘 모르겠다. 뭔가 부모 프로세스를 물고 도는 애 같은데
그냥 일단 둘다 죽였더니 메모리가 초기화 되긴 했다!
PID가 조회해도 안나올때!
특정 gpu를 물고 있는 프로세스 확인하거나 gpu 메모리 초기화 하고 싶을 때 유용한 방법인듯 ㅎㅎ
728x90
'AI > LLM' 카테고리의 다른 글
[LLM] ollama 사용하기 (0) | 2024.08.13 |
---|---|
[RAG] RAG 벤치마크 데이터셋 & 성능 평가 리뷰 : RAG-Evaluation-Dataset-KO (0) | 2024.07.16 |
[RAG] LLM-based Query Rewriting 논문 리뷰 (1) Enhancing Conversational Search: Large Language Model-Aided Informative Query Rewriting (0) | 2024.05.08 |
[LLM] 왔다, LLaMA3! (2) | 2024.04.19 |
[한국어 LLM 벤치마크] Korean MT-bench score 계산하기 (2) (0) | 2024.04.15 |
댓글