4.3. 激活大型页面
激活 JBoss EAP JVM 的大型页面会导致页面中被锁定,而无法像常规内存一样被交换到磁盘。
对内存密集型应用程序而言,使用大页面的优势在于堆无法分页或交换到磁盘,因此始终可以随时使用。
使用大页面的一个缺点是系统上的其他进程可能无法快速访问内存,这可能会导致这些进程过量分页。
与任何其他性能配置更改一样,建议您在测试环境中测试更改的影响。
先决条件
- 您的操作系统配置被设置为使用大型页面。
流程
如果您的操作系统没有配置为将大型页面用于 JBoss EAP 进程,请选择以下选项之一:
对于红帽企业 Linux 系统,您必须明确配置
HugeTLB页面,以确保 JBoss EAP 进程可以访问大页面。有关配置 Red Hat Enterprise Linux 内存选项的详情,请参考 Red Hat Enterprise Linux 性能调优指南中 的内存章节。
对于运行 JBoss EAP 的 Windows Server 系统,您必须分配大型页面权限:
- 选择 Control Panel → Admin Tools → Local Security Policy。
- 选择 Local Policies → Usertitle Assignment。
- 双击 内存中的锁定页面。
- 添加您要使用大页面的 Windows Server 用户和组。
- 重新启动 计算机。
启用或禁用大页面支持:
要显式启用对 JBoss EAP JVM 的大页面支持,请使用以下 JVM 选项:
-XX:+UseLargePages
要明确禁用对 JBoss EAP JVM 的大页面支持,请使用以下 JVM 选项:
-XX:-UseLargePages
在启动 JBoss EAP 时,请确保没有与保留内存相关的警告。
在 Red Hat Enterprise Linux 中,可能会有如下错误:
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 1)
在 Windows Server 中,错误可能类似如下:
Java HotSpot(TM) 64-Bit Server VM warning: JVM cannot use large page memory because it does not have enough privilege to lock pages in memory.
如果您看到警告,请验证您的操作系统配置和 JVM 选项是否已正确配置。
其他资源
- 如需更多信息,请参阅 甲骨文有关 Java 支持大页的文档。