面向java的数据库2.2.*+嵌入式推荐32位/x86配置/JVM参数
我想问一下,为了在32位/x86 Windows上正常运行,向OrientDB和JVM传递哪些建议/必需的参数
我们正在运行OrientDB 2.2.2,如果配置Xmx+存储,我会看到OOM问题。磁盘缓存。缓冲区大小总计超过1.5gb。如果我将总数设置为~1.4gb,那么行为会更稳定一些。我还要设置内存。大块大小设置为400以正确启动orientdb。我试图遵循性能调优页面上的指导原则,但似乎大多数修辞都假设使用64位/x64系统
以下是我们的设置:
- -Xrs
- -XX:+UseG1GC
- -XX:+攻击性选项
- -XX:CompileThreshold=200
- -XX:+HEAPDUMPONAUTOFMEMORYERROR
- -XX:MaxDirectMemorySize=1g(将此设置为2g会导致稳定性问题)
- -乔娜。nosys=true(根据orientdb github问题后的建议)
- -数据存储。沃尔。syncOnPageFlush=false
- -数据存储。磁盘缓存。缓冲区大小=712
- -数据记忆。大块size=400(这是必需的吗?我们看到添加后的行为更加稳定)
- -DORIENTDB_HOME=C:\someLocation
- -DSERVERLOGS\u DIR=C:\someLocation\logs
- -Xms10m
- -Xmx712m
如果可能的话,我希望OrientDB提供一些明确的32位建议
提前谢谢
# 1 楼答案
通过以下更改,我已经能够在Windows上可靠地运行32位OrientDB。我注意到性能不如OrientDB 2.0,可能是因为OrientDB现在占用了更多内存,而32位Java无法提供
在orientdb服务器配置中。xml:
较小的墙
<entry value="true" name="storage.useWAL"/>
<entry value="32" name="storage.wal.maxSegmentSize"/>
<entry value="256" name="storage.wal.maxSize"/>
较小的内存块大小(默认值为MAX_INT 2147483647)
<entry name="memory.chunk.size" value="134217728"/>
在JVM参数中:
-Xmx512m
-XX:MaxDirectMemorySize=640m