Hey Adriano and everyone,

I finally got a chance to monitor/profile the neo4j process with VisualVM when 
I run my set of tests.

It seems that after running the set of tests once, ~ 50M of PermGen was used. 
However, subsequent test runs simply multiples that, which worries me a little. 
After the fourth run of the tests, ~ 200M of PermGen space was used.

My app accesses to neo4j completely using the REST interface. During the test 
run, new nodes and relationships are  being frequently created. There are batch 
requests that performs multiple actions at once (number of actions is 
reasonable, really small in this case, usually a few, or tenth). There are also 
gremlin script executions through REST (send the gremlin query over to the 
server through REST API). Most of the gremlin queries are traversals and 
returns the vertices or edges match the constraints.

Total number of nodes created during a test run is only hundreds. There are 
more relationships, but at most thousands.

That's basically all of the things that are done against neo4j server during a 
test run. Given this, do you think the PermGen usage is reasonable? Or do you 
think something is very wrong? I worried that setting a larger PermGen would 
only postpone but not resolve the OutOfMemory problem. 

Let me know if any other info is needed.

Thanks much,
Nuo




On Aug 29, 2011, at 6:09 AM, Adriano Henrique de Almeida wrote:

> Hi Nuo, any results here?
> 
> Cheers
> 
> 2011/8/26 Nuo Yan <[email protected]>
> 
>> Hey Adriano,
>> 
>> Thanks very much for your reply. I will try with MaxPermSize.
>> 
>> It's on my local machine, we are evaluating Neo4j and do not have it on
>> production yet. I'm accessing the server through the REST APIs, the app is
>> separate from Neo. I will see if I can do some profiling on Neo when I run
>> my tests.
>> 
>> Thanks,
>> Nuo
>> 
>> 
>> 
>> On Fri, Aug 26, 2011 at 3:53 PM, Adriano Henrique de Almeida <
>> [email protected]> wrote:
>> 
>>> Hey Nuo,
>>> 
>>> wrapper.java.maxmemory and Xmx won't help, since it is a PermGenSpace
>>> problem, and they only deal with HeapSpace. Did you try with:
>>> -XX:*MaxPermSize
>>> **?*
>>> 
>>> Anyway, something very wrong is happening, since you have few nodes.
>>> 
>>> It is happening only on production, or development also? If it is
>> happening
>>> on development, try to isolate the situation where you're stucking the
>>> permgen. Run you app with VisualVM, for instance, or any other profiler.
>>> Aren't you dealing with classloaders on your app?
>>> 
>>> Cheers
>>> 
>>> Adriano Almeida
>>> 
>>> 
>>> 
>>> 2011/8/26 Jim Webber <[email protected]>
>>> 
>>>> Hi Nuo,
>>>> 
>>>> if you're using Neo4j server then you can edit the value in
>>>> conf/neo-wrapper.conf
>>>> 
>>>> wrapper.java.maxmemory=1024
>>>> 
>>>> Jim
>>>> _______________________________________________
>>>> Neo4j mailing list
>>>> [email protected]
>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Adriano Almeida
>>> Caelum | Ensino e Inovação
>>> www.caelum.com.br
>>> _______________________________________________
>>> Neo4j mailing list
>>> [email protected]
>>> https://lists.neo4j.org/mailman/listinfo/user
>>> 
>> _______________________________________________
>> Neo4j mailing list
>> [email protected]
>> https://lists.neo4j.org/mailman/listinfo/user
>> 
> 
> 
> 
> -- 
> Adriano Almeida
> Caelum | Ensino e Inovação
> www.caelum.com.br
> _______________________________________________
> Neo4j mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user

_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to