java - 如何为 Apache Ignite v1.7 设置 JVM 最大堆内存?

标签 java jvm ignite

通过 ignite.sh 运行时,如何设置 Apache Ignite 可用的最大堆内存?这些文档似乎没有涵盖这个非常基本的任务。另外,如何验证该设置是否确实有效?

我读到命令行选项 -J 可用于将 JVM 参数从 ignite.sh 传递到 JVM 进程,但我无法找到证据实际上在工作。例如,如果我按如下方式启动 Ignite:

bin/ignite.sh -v -J-Xmx2g

程序输出以下消息:

[09:13:42,422][INFO][main][IgniteKernal] VM arguments: [-Xms1g, -Xmx1g, -XX:+AggressiveOpts, -XX:MaxPermSize=256m, -DIGNITE_QUIET=false, -DIGNITE_SUCCESS_FILE=/Users/landon/Downloads/apache-ignite-fabric-1.7.0-bin/work/ignite_success_5d0c3958-8952-4a7d-81b0-76c07ae6c520, -Dcom.sun.management.jmxremote, -Dcom.sun.management.jmxremote.port=49164, -Dcom.sun.management.jmxremote.authenticate=false, -Dcom.sun.management.jmxremote.ssl=false, -DIGNITE_HOME=/Users/landon/Downloads/apache-ignite-fabric-1.7.0-bin, -DIGNITE_PROG_NAME=bin/ignite.sh, -Xmx2g]

这似乎表明 -Xmx1g-Xmx2g 都被传递。

此外,ps aux 显示以下内容:

landon          47582   1.0  2.1  5214944 172616 s000  S+    9:13AM   0:06.19 /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java -Xms1g -Xmx1g -server -XX:+AggressiveOpts -XX:MaxPermSize=256m -DIGNITE_QUIET=false -Xdock:name=Ignite Node -DIGNITE_SUCCESS_FILE=/Users/landon/Downloads/apache-ignite-fabric-1.7.0-bin/work/ignite_success_5d0c3958-8952-4a7d-81b0-76c07ae6c520 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=49164 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -DIGNITE_HOME=/Users/landon/Downloads/apache-ignite-fabric-1.7.0-bin -DIGNITE_PROG_NAME=bin/ignite.sh -Xmx2g -cp /Users/landon/Downloads/apache-ignite-fabric-1.7.0-bin/libs/*:/Users/landon/Downloads/apache-ignite-fabric-1.7.0-bin/libs/ignite-indexing/*:/Users/landon/Downloads/apache-ignite-fabric-1.7.0-bin/libs/ignite-spring/*:/Users/landon/Downloads/apache-ignite-fabric-1.7.0-bin/libs/licenses/* org.apache.ignite.startup.cmdline.CommandLineStartup config/default-config.xml
landon          45624   0.0  0.0  3166752   1292   ??  S    Fri07PM   0:00.01 /bin/bash bin/ignite.sh -v -J-Xmx2g

这在命令行上模糊地列出了 -Xmx1g-Xmx2g

最佳答案

这是设置堆内存的正确方法。如果 Xmx 列出两次,JVM 将使用最后一个。

关于java - 如何为 Apache Ignite v1.7 设置 JVM 最大堆内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40091237/

相关文章:

java - 使用 JDBC 编写带有绑定(bind)变量的匿名 PL/SQL block

Java - 在哪里指定类的作用?

java - 无法使用 ClassLoader 加载枚举类

.net - apache ignite .net 计划任务

distributed-caching - 在 2 节点集群中启动 Ignite 缓存需要帮助

java - "stack overflow on call to Landroid/database/sqlite/SQLiteOpenHelper;.<init>:VLLLI"

java - JPanel、BorderLayout 工作错误

jvm - 修改JVM内置类加载器

java - 堆空间不足

java - 我们需要ignite.sh脚本做什么?