2012-03-22 9 views
2

ソーシャルグラフ用にGraphml XML形式でフォーマットされた巨大なXMLファイル(ほぼ2GB)を持っています。プリフューズに非常に大きなファイルをロード

graph = new GraphMLReader().readGraph("socialgraph.xml"); 

を経由して新しいグラフを作成している間、私は「java.lang.OutOfMemoryErrorを:Javaのヒープ領域」を取得例外 をファイル、ノードによってノードを読むためのプレフューズにおける方法はあります。 そうでない場合は、XMLやSQLデータベースを介してこのような大きなサイズを処理できる視覚化ツールキットをお勧めします。

答えて

3

まず、JVMを割り当てるメモリ量を増やすことをお勧めします。

-Xmx4g 

詳細については、この関連の質問を参照してください:Increase heap size in java

それでも問題が解決しないと、私は最初gephiしようと別の可視化を試してみたい場合は、プログラムを実行すると、このJVM引数を追加します。

+0

ファイルが2倍の場合、1024は十分でないかもしれません...あなたのマシンがそれを取ることができる場合はそれ以上を許可してください – mbatchkarov

+0

あなたは正しいです、それは単なる例でした、私は答えを修正します。ファイルのサイズは、実際のノードとエッジの数が実際にグラフに表示されているわけではありません。 GraphMLは通常非常に冗長です。 –

+0

私はvisoneを試みるつもりだった。それは5000ノードまでのファイルを読むことができましたが、それ以降パフォーマンスは低下しました。私は約100万のノードを見ている。 – kitwalker

関連する問題