티스토리 뷰

728x90
반응형

문제

docker에 pytorch 개발 환경을 구축하여 실행 시키고 컨테이너 안에서 관련 코드는 돌리니 다음과 같은 에러 메시지가 발생하였다.

ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm)
RuntimeError: DataLoader worker (pid 65) is killed by signal: Bus error. It is possible that dataloader's workers are out of shared memory. 
Please try to raise your shared memory limit.

메모리 관련 크기가 작다는 것인데 다음 링크에서 몇가지 해결책이 제시 되었다. 

https://github.com/ultralytics/yolov3/issues/283

 

ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm). · Issue #283 · ultr

I start training process on my Red Hat Enterprise Linux Server 7.4, after hundreds of iterations, the error always occurred: Unexpected bus error encountered in worker. This might be caused by insu...

github.com

사용한 해결책

다음과 같이 사용하던 docker 실행 명령 옵션에 --ipc=host를 추가했다.

docker run --gpus all -it -p 8888:8888 -p 6006:6006 --ipc=host -v $(pwd):/workspace hello:1.0 /bin/bash

솔직히 --ipc 옵션의 의미는 정확히 모르는데 이렇게 하는 경우 특정한 세그먼트만 메모리에 연결되지 않아 메모리 크기에 따른 에러가 없어지는 것 같다. 

 

더 자세한 옵션에 대한 설명은 다음 표준 문서에 있다.

 

https://docs.docker.com/engine/reference/run/#ipc-settings---ipc

 

| Docker Documentation

Docker run reference Docker runs processes in isolated containers. A container is a process which runs on a host. The host may be local or remote. When an operator executes...

docs.docker.com

 

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함