为了演示的目的,我在低内存环境下运行Neo4j - 一台带有4GB内存的笔记本电脑,1644MB用于显存,剩下只有2452 MB可用。它还运行SQL Server,我们的WCF服务,和我们的客户..所以Neo4j的内存很少。如何配置Neo4j在最小的内存环境中运行?
我正在通过REST从C#服务运行LOAD CSV密码脚本。有超过20个脚本,并且它们在服务器环境中运行良好。我编写了分页代码,以便它们以较小的批次运行。我已经减小了批量大小非常低(25 csv行),并且给定的脚本可以执行300批次,但是在某些时候我仍然会出现“Java堆空间”错误。
我试过用相对较大的堆空间(640MB)配置Neo4j,这是所有可用的RAM大小加上将cache_type设置为无,并且在得到java堆空间错误之前获得更多。我不明白的是在那种情况下,它为什么会增长很多?另外,在我重新启动neo4j服务之前,我很快得到了这些java堆空间错误。批量大小似乎不会影响有多少内存被明显使用。
但是,这样做后,我用这些设置运行应用程序,由于缓存设置,查询性能变得非常慢。
我正在使用4G RAM的Windows 7笔记本电脑上运行此操作 - 使用Neo4j 2.2.1 Community Edition。
想法?
这解决了我眼前的问题......但是。看一个相对简单的案例生成的计划,我肯定会得到一些“渴望”的事情发生,并拉动比我应该更多的记录。需要了解为什么会发生这种情况。但这是一个单独的问题和答案。非常感谢! –