1
4
这是TDB节点缓存-每个数据集本身通常需要1.5G(2G更好)。此缓存在JVM的生命周期内持续存在。 按照今天的标准,2G的java堆是一个小java堆。如果必须使用小堆,可以尝试在32位模式下运行(在TDB中称为“直接模式”),但性能较低(主要是因为节点缓存较小,并且在该数据集中,您确实有足够的节点导致小缓存的缓存搅动)。
Apache Jena确实优化了(TopN查询)的一些情况,但截断
对于优化,默认值为1000。看见
否则,它将收集到目前为止看到的所有行。对数据集的遍历越深入,节点缓存中的数据越多,也比独特过滤器中的数据越多。 是的,更多堆。合理的最小值是每个TDB数据集2G,然后是Java本身需要的任何值(例如,0.5G),再加上您的程序和查询工作区。 |
2
0
您似乎在某个地方发生内存泄漏,这只是一个猜测,但请尝试以下操作:
|