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
-XX:+UseLargePagesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要显式禁用 JBoss EAP JVM 的大型页面支持,请使用以下 JVM 选项:
-XX:-UseLargePages
-XX:-UseLargePagesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
启动 JBoss EAP 时,确保没有与保留内存相关的警告。
在 Red Hat Enterprise Linux 中,错误可能类似如下:
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 1)
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 1)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 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.
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.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果确实看到警告,请验证您的操作系统配置和 JVM 选项是否已正确配置。
如需更多信息,请参阅 Oracle 文档有关 Java 对大页的支持。