当运行程序时发现shm不够时
不指定–shm-size参数时
即docker共享内存大小,默认共享内存为64M
使用df -h
命令可以看到
Filesystem Size Used Avail Use% Mounted on
overlay 196G 29G 158G 16% /
tmpfs 64M 0 64M 0% /dev
tmpfs 14G 0 14G 0% /sys/fs/cgroup
shm 64M 0 64M 0% /dev/shm
更改shm大小有两种方案:
1.修改该容器的配置文件hostconfig.json,找到参数shmsize,修改为你想要的大小。在目录/var/lib/docker/containers
下,查看你的容器IDdocker ps -a
,进入你的容器对应的目录。修改文件前把容器停止docker stop container
2^30 = 1073741824 = 1G
12G = 12884901888
如果发现重新启动容器时,配置文件又恢复成原来的信息。那么就要停止docker服务,修改完后配置文件,在启动docker.
service docker stop
service docker start
2.重新生成一个容器。
使用命令
docker run --shm-size 8g --name test -it -v /data:/data torch /bin/bash
参数:
–shm-size 8g 共享内存8g
–name test 容器名字test
-v /data:/data 将本地电脑的目录/data挂载到容器的/data目录下,可以挂载本地的多个文件使用多个 -v参数
torch 是你的镜像名字,也可以使用镜像ID