java.lang.OutOfMemoryError:Java堆空间Hadoop Ubuntu

时间:2015-02-19 01:06:08

标签: java ubuntu hadoop heap hdfs

我在我的应用程序中使用Hadoop,但在程序退出之前我收到此错误java.lang.OutOfMemoryError: Java heap space我已经修改了mapred-site.xml并将此属性添加到其中

<property> <name>mapred.child.java.opts</name> <value>-Xmx4096m</value> </property>

但仍然出现异常。 我在终端java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'中使用了这个命令,这就是结果:

uintx AdaptivePermSizeWeight                    = 20              {product}           
     intx CompilerThreadStackSize                   = 0               {pd product}        
    uintx ErgoHeapSizeLimit                         = 0               {product}           
    uintx HeapSizePerGCThread                       = 87241520        {product}           
    uintx InitialHeapSize                          := 1054841728      {product}           
    uintx LargePageHeapSizeThreshold                = 134217728       {product}           
    uintx MaxHeapSize                              := 16877879296     {product}           
    uintx MaxPermSize                               = 174063616       {pd product}        
    uintx PermSize                                  = 21757952        {pd product}        
     intx ThreadStackSize                           = 1024            {pd product}        
     intx VMThreadStackSize                         = 1024            {pd product}        
java version "1.6.0_31"
OpenJDK Runtime Environment (IcedTea6 1.13.3) (6b31-1.13.3-1ubuntu1~0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

如果有人可以请告知如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

您的问题是memory leak

您应该考虑查看代码以查看导致资源泄漏的原因。通常,它是由GC无法从内存中删除数据的实例引起的。