Mongodb构建/编译错误:Ubuntu上没有足够的内存

时间:2014-05-25 04:55:52

标签: mongodb ubuntu

前言所以这没有标记为重复:我已经看到很多mongodb内存问题在堆栈溢出时发布,但没有一个与编译错误有关。

我刚刚下载并在Virtualbox上运行Ubuntu(在Mac上),所以我觉得应该有足够的内存。但是,当我尝试从源代码编译Mongodb时,我在编译一小时后遇到了以下错误(我现在已经做了几次)

scons: *** [<whatever file it was working on>] No space left on device
scons: building terminated because of errors

并在另一场合

IOError: [Errno 28] No space left on device:
    File "/usr/lib/scons/SCons/Script/Main.py", line 1359:
        _exec_main(parser, values)
    File "/usr/lib/scons/SCons/Script/Main.py", line 1323:
        _main(parser)
    File "/usr/lib/scons/SCons/Script/Main.py", line 1072:
        nodes = _build_targets(fs, options, targets, target_top)
    File "/usr/lib/scons/SCons/Script/Main.py", line 1281:
       jobs.run(postfunc = jobs_postfunc)
    File "/usr/lib/scons/SCons/Job.py", line 113:
        postfunc()
    File "/usr/lib/scons/SCons/Script/Main.py", line 1278:
       SCons.SConsign.write()
    File "/usr/lib/scons/SCons/SConsign.py", line 109:
       syncmethod()
    File "/usr/lib/scons/SCons/dblite.py", line 117:
       self._pickle_dump(self._dict, f, 1)
Exception IOError: (28, 'No space left on device') in <bound method dblite.__del__ of <SCons.dblite.dblite object at 0x7fbe2a577dd0>> ignored

我已经尝试了以下两个构建命令:

scons all --dbg=on -j1
scons --dbg=on -j1

根据VirtualBox,虚拟大小为8 GB,实际大小为4.09 GB。此外,如果它有所不同,我的Mac上的内存实际上已满的几率是微不足道的。

非常感谢任何帮助,提前谢谢。

编辑:我尝试创建更多内存(24 GB)并调整分区大小,但我仍然无法完成构建。 以下是df -T命令的输出:

Filesystem     Type       1K-blocks      Used  Available Use% Mounted on
/dev/sda1      ext4        15345648  14304904     238184  99% /
none           tmpfs              4         0          4   0% /sys/fs/cgroup
udev           devtmpfs     1014316        12    1014304   1% /dev
tmpfs          tempfs        205012       860     204152   1% /run
none           tempfs          5120         0       5120   0% /run/lock
none           tempfs       1025052       152    1024900   1% /run/shm
none           tempfs        102400        40     102360   1% /run/user

1 个答案:

答案 0 :(得分:0)

当你说内存时,我相信你的意思是磁盘空间。尝试运行命令

df -T了解您的实际用量百分比。您可能需要调整virtualbox分配给图像的空间量,以及调整重新分区的大小。创建一个具有16或24GB磁盘空间的新虚拟机映像可能更简单。

如果您决定使用调整大小分区路径,这是一个有用的资源:https://askubuntu.com/questions/126153/how-to-resize-partitions