티스토리 뷰
개발/docker
RuntimeError: DataLoader worker (pid 13881) is killed by signal: Bus error.
Jaeyeon Baek 2019. 4. 15. 09:50docker container 내부에서 pytorch 로 기계학습을 진행하는 도중에 아래와 같은 에러메시지가 발생되는 경우가 있습니다.
RuntimeError: DataLoader worker (pid 13881) is killed by signal: Bus error.
위 에러는 도커로 컨테이너를 생성하게 되면 호스트와 컨테이너는 공유하는 메모리 공간이 생기게 되는데 이 공간에 여유가 없어서 발생되는 에러입니다. 리눅스의 경우에는 컨테이너 내부에서 아래와 같이 df 명령어로 확인이 가능합니다.
(base) root@2a48ab5fd651:~/ml# df -h
Filesystem Size Used Avail Use% Mounted on
overlay 427G 59G 347G 15% /
tmpfs 64M 0 64M 0% /dev
tmpfs 95G 0 95G 0% /sys/fs/cgroup
/dev/bcache0 15T 108G 14T 1% /raid
/dev/sda3 427G 59G 347G 15% /etc/hosts
shm 2.0G 579M 1.5G 29% /dev/shm
tmpfs 95G 12K 95G 1% /proc/driver/nvidia
tmpfs 19G 2.3M 19G 1% /run/nvidia-persistenced/socket
udev 95G 0 95G 0% /dev/nvidia1
tmpfs 95G 0 95G 0% /proc/asound
tmpfs 95G 0 95G 0% /proc/acpi
tmpfs 95G 0 95G 0% /proc/scsi
tmpfs 95G 0 95G 0% /sys/firmware
shared memory 를 나타내는 shm 부분을 살펴보면 되는데 컨테이너를 생성하면 기본으로 128MB가 할당됩니다. 호스트의 메모리에 따라 shm 을 충분히 설정할 수 있는데 컨테이너 생성시에 --shm-size 옵션을 통해 지정할 수 있습니다. 위에 예제는 --shm-size 2G 로 지정한 경우입니다.
누군가에게는 도움이 되셨기를 바랍니다.
'개발 > docker' 카테고리의 다른 글
nvidia-docker Installation in Ubuntu (2) | 2019.05.27 |
---|---|
nvidia-docker로 개발환경 한방에 세팅하기 (14) | 2019.05.07 |
이미지, 컨테이너 export, import (0) | 2016.12.12 |
네트워크 관리 (0) | 2016.12.01 |
docker A to Z (0) | 2016.12.01 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday