4.3. 启用巨页
为 JBoss EAP JVM 启用大页面会导致内存锁定的页面,不能像常规内存一样被交换到磁盘。
特别是对于内存密集型应用程序,使用大页面的优点是无法将堆分页或交换到磁盘,因此始终可用。
使用大型页面的一个缺点是,在系统中运行的其他进程可能无法快速访问内存,这可能会导致这些进程出现过量分页。
与任何其他性能配置更改一样,建议您测试测试测试环境中更改的影响。
您必须确保您的操作系统配置允许进程使用大型页面。
-
对于 Red Hat Enterprise Linux 系统,您必须明确配置
HugeTLB
页面,以确保 JBoss EAP 进程可以访问大页。 对于 Windows Server 系统,运行 JBoss EAP 的用户必须分配有大页面权限:
-
选择 Control Panel
Administrative Tools Local Security Policy。 -
选择 Local Policies
User Rights Assignment。 - 双击 内存中的锁定页面。
- 添加您要使用大页面的 Windows Server 用户和用户组。
- 重启机器。
-
选择 Control Panel
-
对于 Red Hat Enterprise Linux 系统,您必须明确配置
启用或禁用大页面支持:
要显式启用 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 选项是否已正确配置。
如需更多信息,请参阅 Oracle 文档有关 Java 对大页的支持。