8.2. 为受管域配置 JVM 设置
在 JBoss EAP 受管域中,您可以在多个级别上定义 JVM 设置。您可以在特定主机上定义自定义 JVM 设置,然后将这些设置应用到服务器组或单个服务器实例。
默认情况下,服务器组和个别服务器将继承其父级的 JVM 设置,但您可以选择覆盖各个级别的 JVM 设置。
domain.conf
中的 JVM 设置或用于 Windows 服务器的 domain.conf.bat
应用于 JBoss EAP 主机控制器的 Java 进程,而不是由该主机控制器控制的独立 JBoss EAP 服务器实例。
8.2.1. 在主机控制器中定义 JVM 设置 复制链接链接已复制到粘贴板!
您可以在主机控制器上定义 Java 虚拟机(JVM)设置,并将这些设置应用到服务器组或个别服务器。JBoss EAP 附带 默认的
JVM 设置,但以下流程演示了创建名为 production_jvm
的新 JVM 设置以及一些自定义 JVM 设置和选项。这些设置存储在 host.xml
中的 <jvm
> 标签中。
先决条件
- JBoss EAP 作为受管域运行。
流程
使用管理 CLI 定义 JVM 设置。
语法
/host=<HOST_NAME>/jvm=<SETTING_NAME>:add(heap-size=<HEAP_SIZE>, max-heap-size=<MAX_HEAP_SIZE>, max-permgen-size=<MAX_PERMANENT_GENERATION_SIZED>, stack-size=<STACK_SIZE>, jvm-options=["<JVM_OPTIONS>"])
/host=<HOST_NAME>/jvm=<SETTING_NAME>:add(heap-size=<HEAP_SIZE>, max-heap-size=<MAX_HEAP_SIZE>, max-permgen-size=<MAX_PERMANENT_GENERATION_SIZED>, stack-size=<STACK_SIZE>, jvm-options=["<JVM_OPTIONS>"])
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
/host=exampleHost1/jvm=production_jvm:add(heap-size=2048m, max-heap-size=2048m, max-permgen-size=512m, stack-size=1024k, jvm-options=["-XX:-UseParallelGC"])
/host=exampleHost1/jvm=production_jvm:add(heap-size=2048m, max-heap-size=2048m, max-permgen-size=512m, stack-size=1024k, jvm-options=["-XX:-UseParallelGC"])
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关所有可用选项的描述,请参阅受管域 JVM 配置属性。
使用管理控制台定义 JVM 设置。
-
在管理控制台中导航到 Runtime
Hosts。 - 选择主机并单击 查看。
- 选择 JVM 选项卡来定义设置。
-
在管理控制台中导航到 Runtime
8.2.2. 将 JVM 设置应用到服务器组 复制链接链接已复制到粘贴板!
在创建服务器组时,您可以指定组中所有服务器将使用的 JVM 配置。服务器组的这些设置存储在 domain.xml
中。
先决条件
- JBoss EAP 作为受管域运行。
您已为主机控制器定义了 JVM 设置。
如需更多信息,请参阅 定义主机控制器上的 JVM 设置。
流程
使用管理 CLI 将 JVM 设置应用到服务器组。
创建使用
production_jvm
JVM 设置的服务器组名称exampleGroupA
。/server-group=exampleGroupA:add(profile=default,socket-binding-group=standard-sockets) /server-group=exampleGroupA/jvm=production_jvm:add
/server-group=exampleGroupA:add(profile=default,socket-binding-group=standard-sockets) /server-group=exampleGroupA/jvm=production_jvm:add
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您还可以在服务器组级别上覆盖特定的 JVM 设置。例如,要设置不同的堆大小,您可以使用以下命令:
/server-group=exampleGroupA/jvm=production_jvm:write-attribute(name=heap-size,value="1024m")
/server-group=exampleGroupA/jvm=production_jvm:write-attribute(name=heap-size,value="1024m")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用上述命令后,服务器组
groupA
将继承production_jvm
的 JVM 设置,但堆大小为1024m
除外。使用管理控制台将 JVM 设置应用到服务器组。
-
导航到 Runtime
Server Groups。 - 选择服务器组,然后单击 查看。
- 选择 JVM 选项卡以应用设置。
-
导航到 Runtime
8.2.3. 将 JVM 设置应用到服务器组中的单个服务器 复制链接链接已复制到粘贴板!
默认情况下,单个 JBoss EAP 服务器实例将继承其所属服务器组的 JVM 设置。但是,您可以选择使用主机控制器的另一完整 JVM 设置定义覆盖继承的设置,或者选择覆盖特定的 JVM 设置。单个服务器的这些设置存储在 host.xml
中。
先决条件
- JBoss EAP 作为受管域运行。
您已将 JVM 设置应用到服务器组。
如需更多信息,请参阅将 JVM 设置应用到服务器组。
流程
使用管理 CLI 将 JVM 设置应用到单个服务器。
将 Applying JVM 设置中的 JVM 定义覆盖到服务器组流程中,并将
server
-one 的 JVM 设置设为默认的
JVM 定义:/host=exampleHost1/server-config=server-one/jvm=default:add
/host=exampleHost1/server-config=server-one/jvm=default:add
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,与服务器组类似,您还可以覆盖服务器级别的特定 JVM 设置。例如,要设置不同的堆大小,您可以使用以下命令:
/host=exampleHost1/server-config=server-one/jvm=default:write-attribute(name=heap-size,value="1024m")
/host=exampleHost1/server-config=server-one/jvm=default:write-attribute(name=heap-size,value="1024m")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用管理控制台将 JVM 设置应用到单独的服务器。
-
导航到 Runtime
Hosts。 - 选择主机,然后单击服务器上的 View。
- 选择 JVM 选项卡以应用设置。
-
导航到 Runtime