前言所以这没有标记为重复:我已经看到很多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
答案 0 :(得分:0)
当你说内存时,我相信你的意思是磁盘空间。尝试运行命令
df -T
了解您的实际用量百分比。您可能需要调整virtualbox分配给图像的空间量,以及调整重新分区的大小。创建一个具有16或24GB磁盘空间的新虚拟机映像可能更简单。
如果您决定使用调整大小分区路径,这是一个有用的资源:https://askubuntu.com/questions/126153/how-to-resize-partitions