如何设置Apache Ignite通过Ignite.sh
运行时可用的最大堆内存?文件似乎没有涵盖这项非常基本的任务。此外,如何验证设置是否实际工作?
我读到命令行选项-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]
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将使用最后一次。
问题内容: 如何在不向程序中添加额外的批处理脚本的情况下设置最大的jvm内存。下面提供了答案。 问题答案: 这是一个很好的问题,但是您的渗透力有很多假设。我假设您必须记录jar的名称,以便用户调用“ java -jar xyz.jar”,这样您是否还可以在文档中包括“ -Xmx256M”的要求? 您可能需要使用Java启动,更多的运气如这一个针对Windows,你把发射器配置(路径,最大内存等),
我们有一个需求,即应用程序jvm总内存太高,并且根据输入数据集而变化。因此我们不知道要使用-xmx命令行选项设置的最大堆大小。所需的总内存大于默认的最大堆大小(总物理内存的1/4)。 当我们没有给出任何GC人体工程学命令行参数时,内存在9-9.5GB(系统中的总物理内存为38GB)之后没有增长。而应用程序就会在这一点上卡住。 如果我们将Xmx值设为20 GB,则应用程序正在运行。但是我们不确定最大
问题内容: 我想限制JVM使用的最大内存。注意,这不仅是堆,我想限制此过程使用的总内存。 问题答案: 使用参数。在数字后面使用M或G分别表示字节的兆位和千兆位。表示最小值和最大值。
问题内容: 当前,在我们的测试环境中,最大和最小JVM堆大小设置为相同的值,基本上与专用服务器计算机为我们的应用程序所允许的大小相同。这是性能最佳的配置,还是给JVM一个更好的范围? 问题答案: 设置- Xms的主要原因是,如果您在启动时需要一定的堆。(防止OutOfMemoryErrors在启动时发生。)如上所述,如果您需要启动堆来匹配最大堆,则是匹配它的最大时间。否则,您将不需要它。只是要求应
我在Windows Server R2 64位机器上安装了Apache Solr,具有8 GB的RAM。默认情况下,JVM似乎使用了大约256 MB的内存。由于我有一些相当大的文件用于索引,有时我会Java堆空间OutOfMemoryError。 我应该如何增加Solr可用的内存大小? 我在网上找到的大多数留档/帖子都指向像这样的东西,但是我没有通过命令行运行Solr。它是作为Windows服务运
问题内容: 如何从Java程序中获取VM的最小和最大堆大小设置? 问题答案: 最大堆大小: 您可能会发现一些有趣的其他计算: