问题 当我尝试运行nutch generate命令时,共享内存文件的空间不足


我已经运行了3周的nutch爬行命令,现在当我尝试运行任何nutch命令时,我得到以下错误

Java HotSpot(TM)64位服务器VM警告:空间不足   共享内存文件:/ tmp / hsperfdata_user / 27050尝试使用   -Djava.io.tmpdir =选择备用临时位置的选项。

错误:无法找到或加载主类___。tmp.hsperfdata_user.27055

我该如何解决这个问题?


7749
2018-01-12 05:19


起源

您的硬盘剩余多少可用空间? - duskwuff
我该如何检查? - peter
最简单的方法是运行 df 命令。查看“使用%”(有时是“容量%”)列。 - duskwuff
/ dev / xvda1是100%使用,/ dev / xvdb显示1%使用和140gb免费 - peter


答案:


我认为使用的临时位置已满。尝试使用其他位置。另外,检查每个分区中的#inodes,并清空一些空间。

编辑: 无需在OS级别更改/ tmp。我们希望nutch和hadoop使用其他位置来存储临时文件。看看这个是这样的: 什么应该hadoop.tmp.dir?


7
2018-01-12 05:40



如何更改临时位置?我也知道如何检查免费的inode数量并清除空间。 - peter
不要担心男人。只需谷歌出来获取命令。如果你不是很讨厌,最安全的选择是清除属于运行nutch进程的用户的/ tmp中的所有文件,并在24小时之前创建长回来。 - Tejas Patil
/ tmp / hadoop-user / mapred / local / taskTracker / user / folder里面有近3GB的数据我可以安全地删除这个文件夹的内容吗?它不会影响荷兰爬行权吗?我正在使用带有mysql的nutch 2.1。我还可以删除文件夹/ tmp / hadoop-user / mapred / staging /中的文件吗? - peter
如果没有运行nutch和hadoop进程,那么你可以继续删除那些东西。 - Tejas Patil
由于空间错误,现在什么都没有爬行,所以我想我可以删除文件夹内容?我想确定,因为我们在第一个地方安装nutch时遇到了很多麻烦 - peter


是的,这是你/ tmp安装在音量上可用空间的问题。如果您在EC2或任何云平台上运行此操作,请附加新卷并将/ tmp挂载到该平台上。如果在本地运行,除了清理之外没有其他选择可以腾出更多空间。

尝试使用以下命令:df -h查看实例上安装的每个卷上使用的%和可用空间。你会看到类似的东西:

Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  7.9G     0 100% /
tmpfs                  30G     0   30G   0% /dev/shm
/dev/xvda3             35G  1.9G   31G   6% /var
/dev/xvda4             50G   44G  3.8G  92% /opt
/dev/xvdb             827G  116G  669G  15% /data/1
/dev/xvdc             827G  152G  634G  20% /data/2
/dev/xvdd             827G  149G  637G  19% /data/3
/dev/xvde             827G  150G  636G  20% /data/4
cm_processes           30G   22M   30G   1% /var/run/cloudera-scm-agent/process

当磁盘空间已满时,您将开始看到此错误,如此转储中所示。


7
2017-09-20 21:22