专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 设置JVM启动参数

设置JVM启动参数

更新时间:2022-02-14 10:48:40 来源:赢咖4 浏览2041次

设置 Java 虚拟机启动参数

正确启动 Quuppa 定位引擎 (QPE) 需要设置一些 Java虚拟机 (JVM) 启动参数。Quuppa 强烈建议使用最新的 Java 版本来有效地运行系统。作为一个处理实时数据的系统,QPE 对任何进程中断都很敏感,例如 JVM 垃圾收集器的“stop-the-world”执行周期。Quuppa 目前建议使用Java JRE 15或更高版本的所有系统运行其生产就绪的ZGC 垃圾收集器,该垃圾收集器专为实时应用而设计,可有效处理千兆字节的内存。

在使用 Tomcat 8 作为应用程序容器的 Ubuntu 系统中,JRE 参数通常设置在文件 /usr/share/tomcat8/bin/setenv.sh 中。如果此配置文件尚不存在,请创建一个。

Java 15

当您有 Java 15 可用时,添加/修改 export JAVA_OPTS=".."文件中的行以指定所需的参数,例如:

export JAVA_OPTS="-XX:+UseZGC -XX:MaxRAMPercentage=70 -XX:-ZUncommit -Djava.awt.headless=true -Dproject.folder=/opt/quuppa/PE"

Java 8

如果 Java 15 在您的环境中不可用,QPE 至少需要 Java 8。在这些系统上,G1GC (-XX:+UseG1GC) 是垃圾收集器的下一个最佳选择。

使用 Java 8,您可以指定:

export JAVA_OPTS="-Xmx4g -XX:+UseG1GC -Djava.awt.headless=true -Dproject.folder=/opt/quuppa/PE"

export CATALINA_OPTS=".."如果添加为-line,某些参数也可以正常工作。在 Windows 中,您可能需要使用 Tomcat 服务器的图形用户界面来定义这些参数。

表1 。可用的 JVM 启动参数

参数名称 例子 描述
-XX:+使用ZGC -XX:+使用ZGC 可选。告诉 JVM 使用 ZGC 作为垃圾收集器。ZGC 至少需要 Java 版本 15。
-XX:+使用G1GC -XX:+使用G1GC 可选。告诉 JVM 使用 G1 垃圾收集器。如果 Java 15 不可用,请使用。
-XX:最大内存百分比 -XX:MaxRAMPercentage=70 选修的。至少需要 Java 10。设置 JVM 进程的最大 RAM 使用量(以系统中可用内存的百分比表示)。如果您使用此相对设置,则 70 是 Quuppa 当前的默认建议。不要将它设置得太高,因为它可能会导致系统崩溃,尤其是在繁忙的系统中,当可用内存变得碎片化并且操作系统不再能够分配新的内存 JRE 请求时。
-Xmx -Xmx4g 可选。JVM 可以为 QPE 分配的最大内存量,例如分配 4 GB,这对于中等规模的项目来说已经足够了。仅使用MaxRAMPercentage指定此值或相对最大值, 但不能同时指定两者。
-XX:-Z取消提交 -XX:-Z取消提交 可选。至少需要 Java 13。这意味着 JRE 不会将内存还给操作系统,即使它不需要它。它将显示为持续的高内存使用,但在无关紧要的专用系统中,它将有助于减少内存碎片,因为 JRE 负责管理内存以满足其需求。
-Djava.awt.headless=true -Djava.awt.headless=true 必填
-Dproject.文件夹 -Dproject.folder=/opt/quuppa/PE 必填。告诉 QPE 项目文件存储在哪个文件夹中。请勿在此文件夹中存储任何其他文件,因为系统会在与 Quuppa 客户门户通信时清除此文件夹。此外,您不需要手动将任何文件添加到文件夹中,QPE 在与 QCP 通信时会自动执行此操作。
-DallowLocatorsFromAnySubnet -DallowLocatorsFromAnySubnet 可选,必须使用 DHCP 选项。如果定位器通过 DHCP 选项接收 QPE IP 地址,则应定义此参数,即定位器可以驻留在任何子网中并使用任何 IP 地址。如果定义了此参数,则 -DlocatorNetworkInterface 应包含用于将 QPE 连接到定位器的网络接口的本地 IP 地址。
-DlocatorNetworkInterface -DlocatorNetworkInterface=192.168.123.124 选修的. -DlocatorNetworkInterface 可用于 3 个不同的目的:1。它使 QPE 能够监控正确网络接口的状态,以防定位器与 QPE 不在同一子网中,即使用 DHCP 选项并定义 -DallowLocatorFromAnySubnet。在这种情况下,-DlocatorNetworkInterface 是用于连接定位器的网络接口的本地 IP 地址。只应定义一个IP 地址。2.它使 QPE 能够与位于多个本地子网中的定位器一起工作,而不仅仅是一个本地子网。在这种情况下,-DlocatorNetworkInterface 包含所需网络接口的本地 IP 地址。3。它使 QPE 仅锁定到特定的本地子网,其他子网的定位器将被忽略。在这种情况下,-DlocatorNetworkInterface 是所需网络接口的本地 IP 地址。
-DuseMovedLocators -DuseMovedLocators 可选。如果设置了该参数,则移动定位器用于定位。否则,它们将被命令进入部署模式。
-DuseThreadPool -DuseThreadPool=-2 可选。允许定义 QPE 将使用的线程数。该数量是为实际定位计算保留的线程数,相对于系统中的 CPU 内核数。对于具有大约 4 个内核的系统,典型值为 -1,对于具有 10 个或更多内核的更大设置,典型值为 -2。
-模拟器模式 -模拟器模式 可选。以模拟器模式启动 QPE,准备好接收来自 QSP 的模拟数据。项目文件从 QSP 传输。

通过上述介绍,相信大家对设置JVM启动参数已经有所了解,大家如果想了解更多相关知识,可以关注一下赢咖4的Java视频,里面的课程内容更加详细,由浅到深,通俗易懂,比较适合没有基础的小伙伴学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>