法1:在创建容器时增加共享内存大小
nvidia-docker run -it -p 10000:22 --name="zm" -v /home/zm:/data ufoym/deepo:all-cu101 /bin/bash --shm-size=20G
法2:修改正在运行的容器的共享内存设置
- 查看容器、共享内存
docker ps -a
df -lh | grep shm
- 停止容器
docker stop container_name_or_id
- 找到容器的配置文件所在的目录
cd /var/lib/docker/containers
注:这里会报权限不足,如果直接sudo cd /var/lib/docker/containers
会报错sudo: cd:找不到命令。
原因:cd是Linux内建的命令而不是应用程序,sudo只对应用程序起作用,不能使用sudo cd。
解决方法:sudo -i
提升到root权限后再执行以上命令。
- 找到对应的容器目录
cd container_id
这个container_id可以通过docker ps -a查找,但是其container_id显示不全,可以通过按键盘上的tab键补全后面。
- 编辑hostconfig.json文件,修改"ShmSize"的值
vim hostconfig.json
找到"ShmSize": 67108864(64MB),并将其修改为您需要的值,例如"ShmSize": 34359738368(32GB)。
保存并退出编辑器。
- 重新启动Docker服务
systemctl restart docker
- 再次启动容器
docker start container_name
- 查看共享内存
df -lh | grep shm