2014-09-09 5 views
2

Запуск версии сообщества neo4j 2.0.1 на экземпляре AWS EC2. Сервер Neo4J застрял рядом с 100% процессором после некоторых запросов на чтение.Сервер Neo4J застрял близко к 100% CPU

Процессор продолжает зависеть почти до 100%, даже если нет чтения или записи.

Команда ubuntu 'top' показывает только процесс Java, который использует процессор. Как отладить это? Как я знаю, что Neo4j делает для того чтобы держать CPU близка к 100%

Update: Я вижу ниже GC бревен Непрерывно:

70356.833: [GC 485305K->421306K(590488K), 0.0023720 secs] 
70356.873: [GC 485498K->421273K(590488K), 0.0023950 secs] 
70356.917: [GC 485465K->421152K(590488K), 0.0027120 secs] 
70356.961: [GC 485344K->421407K(590488K), 0.0023500 secs] 
70357.004: [GC 485599K->421205K(590488K), 0.0034150 secs] 
70357.049: [GC 485397K->421174K(590488K), 0.0027470 secs] 
70357.097: [GC 485366K->421335K(590488K), 0.0022430 secs] 
70357.140: [GC 485527K->421615K(590488K), 0.0024140 secs] 
70357.189: [GC 485807K->421826K(590488K), 0.0025360 secs] 
70357.237: [GC 486018K->422124K(590488K), 0.0031070 secs] 
70357.285: [GC 486316K->421844K(590488K), 0.0024500 secs] 
70357.325: [GC 486036K->421985K(590488K), 0.0024550 secs] 
70357.365: [GC 486177K->422020K(590488K), 0.0028860 secs] 
70357.411: [GC 486212K->421787K(590488K), 0.0025340 secs] 
70357.457: [GC 485979K->421863K(590488K), 0.0027430 secs] 
70357.505: [GC 486055K->422085K(590488K), 0.0023570 secs] 
70357.553: [GC 486277K->422297K(590488K), 0.0024670 secs] 
70357.601: [GC 486489K->422474K(590488K), 0.0023700 secs] 

я вижу журналы GC очень долго, даже если нет никаких запросов удар. Я думаю, что GC потребляет почти 100% CPU (или что-то еще?).

Java-Neo4j нить свалка, когда CPU близок к 100%: https://onedrive.live.com/redir?resid=49F6403CD7EC37D4!107&authkey=!AM_esZ8nS-iPRCQ&ithint=file%2clog

+0

Одна из возможных причин - нехватка памяти для ваших операций. Получаются ли какие-либо ошибки, такие как нехватка памяти или превышение верхнего предела GC? – tfb785

+0

Я не вижу Недостаточно памяти или превышение допустимых пределов GC. –

+0

Итак, у вас есть куча 1Gb, сколько у вас данных и что работает/когда вы это видите? – JohnMark13

ответ

0

Глядя на свалке нити, что вы предоставили я вижу 6 открытых запросов запущенных запросы, которые приходят в течение оставшейся конечной точки (или по крайней мере, так я интерпретирую линии - at org.neo4j.server.rest.repr.CypherResultRepresentation.serialize(CypherResultRepresentation.java:83), все из которых встречаются в RUNNABLE состоянии).

Как @JimBaird говорит, что я думаю, что у вас, вероятно, есть некоторые вопросы, которые, как вы думали, были запущены, но на самом деле висят вокруг в фоновом режиме, разбивая вашу машину.

К сожалению, я не думаю, что вы можете убить медленный запрос, поэтому вам может потребоваться перезапустить его.

+0

Спасибо, я думаю, что это то, что происходит. Я пытаюсь исправить запросы, требующие времени. Есть ли способ узнать, какой запрос занимает время (может быть похож на журнал запросов mysql slow)? –

+0

Это отдельный вопрос, но см. Здесь для подсказки http://stackoverflow.com/questions/21262004/cypher-profile-via-neo4j-rest-api. Конечно, если вы выполняете запросы, это должно быть очевидно, что происходит медленно, и если вы не знаете, почему, задайте другой вопрос. – JohnMark13

Смежные вопросы