13

在过去的 3 周里,我一直在运行 nutch 爬行命令,现在当我尝试运行任何 nutch 命令时出现以下错误:

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

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

我该如何解决这个问题?

4

2 回答 2

10

是的,这确实是您安装 /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

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

于 2014-09-20T21:22:32.187 回答
9

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

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

于 2013-01-12T05:40:01.677 回答