docker內的/dev/shm,默認共享的是64M。
pm@TR:/data/factory$ sudo docker exec -it 6d401ddd44d2 bash
root@6d401ddd44d2:/# df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
shm 64M 0 64M 0% /dev/shm
現有幾個算法跑在同一個docker中,需要它們在docker中共享1G內存,
解決方法:在對應的容器中添加shm_size參數,並將1G換算成字節1073741824(紅色字體所示),貼上yml代碼:
BrilliantFactory:
image: nvidia/cuda:10.0-cudnn7-runtime
container_name: factory_BrilliantFactory
runtime: nvidia
privileged: true
cap_add:
- SYS_PTRACE
ports:
- 8689:12345
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- ./docker-app-BrilliantFactory:/app
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility,video
command: /app/BrilliantFactory/bin/start.sh
stdin_open: true
# tty: true
shm_size: 1073741824
restart: always
驗證:
pm@TR:/data/factory$ sudo docker exec -it 6d401ddd44d2 bash
root@6d401ddd44d2:/# df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
shm 1.0G 74M 951M 8% /dev/shm
結束。
