한 번만 더 해보자

[docker/yolov7] RuntimeError: DataLoader worker (pid 2662) 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. 본문

Deep Learning

[docker/yolov7] RuntimeError: DataLoader worker (pid 2662) 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.

정 하임 2023. 10. 30. 20:26

상황

도커 컨테이너에서 학습 돌리려는데 다음과 같은 에러가 발생함

 

 

에러

RuntimeError: DataLoader worker (pid 2662) 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.

 

 

 

원인

shared memory가 적어서 학습을 돌릴수 없다고 함

 

 

 

해결방안

shared memory 확인

docker inspect ubuntu | grep -i shm(도커 외부)

df -h (도커 내부)

root:/usr/src/yolov7# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay         879G  610G  225G  74% /
tmpfs            64M     0   64M   0% /dev
tmpfs            32G     0   32G   0% /sys/fs/cgroup
shm              64M  320K   64M   1% /dev/shm
/dev/sda2       879G  610G  225G  74% /etc/hosts
tmpfs            32G     0   32G   0% /proc/acpi
tmpfs            32G     0   32G   0% /proc/scsi
tmpfs            32G     0   32G   0% /sys/firmware

현재 기본값인 64M로 잡혀있음

 

 

 

sheared memory 변경하기

docker run --rm -it --name ubuntu --shm-size=2gb ubuntu
반응형