Gettig OrientDB Java堆

时间:2017-08-23 15:02:47

标签: java exception heap orientdb depth

我正在运行此查询以遍历图表

查询:

function kia_convert_content(){
    $events = get_posts(array('numberposts'=>-1,'post_type'=>'pec_events'));

    foreach( $events as $post ) : setup_postdata($post); 

    // get old meta
    $mauvais_format = get_post_meta($post->ID,'pec_date', true); 

    // format date
    date_format($mauvais_format, 'j F Y');

    //add or update new meta
    if(metadata_exists('post', $post_id, 'l2v_pec_date')){
        update_post_meta($post->ID,'new_pec_date',$bon_format);
    }else{
        add_post_meta($post->ID, 'new_pec_date', $bon_format, true)
    }

    endforeach;

}

我的数据集是11M边缘和20000个节点

我得到了这个java异常

TRAVERSE out("Re") FROM #21:39161 WHILE $depth <= 3 
          STRATEGY BREADTH_FIRST

我正在使用此配置

 [OServer]java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid3920.hprof ...
Heap dump file created [911684234 bytes in 26,730 secs]

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试使用:

TRAVERSE out("Re") FROM #21:39161 MAXDEPTH 3 STRATEGY BREADTH_FIRST

MAXDEPTH在RAM和速度方面更高效。如果不起作用,请减少DISKCACHE并将剪切放入堆中。所以:

set MAXHEAP=-Xmx10G 
set MAXDISKCACHE=4GB