Da Neo4j hauptsächlich im Speicher arbeitet, habe ich mich gefragt, ob es vorteilhaft wäre riesige Seiten (https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt) in meinem Linux Kernel zu aktivieren, und dann XX: + UseLargePages oder vielleicht -XX: + UseHugeTLBFS im (OpenJDK 8) JVM?Neo4j und Hugepages
Wenn ja, welche Faustregel sollte ich verwenden, um zu entscheiden, wie viele riesige Seiten konfiguriert werden?
Der Neo4j Performance Guide (http://neo4j.com/docs/stable/performance-guide.html) erwähnt dies nicht, und Google hat niemanden darüber aufgeklärt (auf den ersten paar Suchseiten sowieso), also dachte ich, ich würde fragen.
Ich wrestle, um akzeptable Leistung von meiner neuen Neo4j-Instanz (2.3.2-Community) zu bekommen. Jedes bisschen wird helfen. Ich möchte wissen, ob dies einen Versuch wert ist, bevor ich die Datenbank herunterbringe, um JVM-Flags zu ändern ... Ich hoffe, dass jemand anderes bereits einige Experimente in dieser Richtung durchgeführt hat.
Danke!
Ok, auf den neueren Ubuntu Linux Systemen ist Transparent HugePages standardmäßig aktiviert. Ich kann sehen, dass ein Haufen zugeteilt wird, wenn ich 'AnonHugePages/proc/meminfo' grepe. Ich kann sehen, dass Neo4j eine Reihe von ihnen bereits 'Grep AnonHugePages/proc/'cat data/neo4j-service.pid'/smaps | verwendet grep -v "0 kB" '. Es scheint also, dass zumindest für mein System zu diesem Zeitpunkt nichts weiter zu tun ist. Danke für die wirklich hilfreiche und informative Antwort! – rotten