본문 바로가기

Computer Vision

GPU에 남아있는 process 지우기 / kill -9 [process_id] 가 안될 때 /RuntimeError: Address already in use

문제상황

  • RuntimeError: Address already in use 에러 발생
  • training 코드를 강제 중단 하는 과정에서 control+c 로 중단하여 process가 정상적으로 종료되지 않은 상황

해결방법 (1차)

  • 일반적으로 nvidia-smi 를 실행하여 하단에 돌고 있는 process id를 보고 kill -9로 프로세스를 강제 종료하면 해결됨

  • process를 강제 종료하기 위하여 다음과 같이 실행. [PID]에 해당하는 process id 숫자를 넣어서 실행
$ kill -9 [PID]

해결방법 (2차)

  • 필자는 python으로 실행시킨 process를 지우기 위하여 python으로 실행되는 프로세스들을 검색.
$ ps aux | grep python

 

 

 

  • 위의 사진에서 두번째 column에 위치한 숫자가 process id 이다. 
  • 우측에 실행되고 있는 쉘의 명령어를 보고 원인이 되는 프로세스를 하기의 command로 삭제하면 된다. 
$ kill -9 [process_id]

 

  • 해결 후 GPU가 정상적으로 점유되고 있는지 확인하기 위해서는 하기의 명령어를 통해 GPU status 를 보고 정상적으로 점유되었는지 확인 
$ gpustat -i
728x90