OSError: Docker上没有剩余空间,但是我有空间

正如标题所示,我正在docker容器中运行jupyter,并且正在scikit learn / numpy库中的python深处获取OSError:

pickler.file_handle.write(chunk.tostring('C')) 

我已经做了一些故障排除,人们似乎遇到的大多数问题是他们的硬盘驱动器或RAM实际上空间不足,这是不是我的情况AFAIK。

这是我的DF看起来像:

 Filesystem 1K-blocks Used Available Use% Mounted on udev 16419976 0 16419976 0% /dev tmpfs 3288208 26320 3261888 1% /run /dev/sdb7 125996884 72177548 47395992 61% / tmpfs 16441036 238972 16202064 2% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 16441036 0 16441036 0% /sys/fs/cgroup /dev/sdb2 98304 32651 65653 34% /boot/efi tmpfs 3288208 68 3288140 1% /run/user/1000 //192.168.1.173/ppo-server3 16864389368 5382399064 11481990304 32% /mnt/ppo-server3 

这是我的自由的样子:

  total used free shared buff/cache available Mem: 32882072 7808928 14265280 219224 10807864 24357276 Swap: 976892 684392 292500 

我在寻找合适的DF和免费输出? 它们都是从容器内的bash实例运行的。

正如@PeerEZ所说的那样,当sklearn尝试并行化作业时会发生这种情况。

sklearn通过写入/ dev / shm来尝试在进程之间进行通信,在docker容器上限制为64mb。

您可以按照@PeerEZ的build议(如果无法重新启动容器)尝试运行n_jobs = 1,或者如果需要并行化,请尝试使用--shm-size选项运行容器, --shm-size为/ dev设置更大的大小/ shm。 例如。 –

 docker run --shm-size=512m <image-name>