Java 大页面和详细 GC Header
Java Large Pages and Verbose GC Header
我们已使用以下命令在 JBoss 系统上启用大页面:
-XX:+UseLargePages
-XX:LargePageSizeInBytes=2m
并且我们已经在 OS 级别分配了页面,并为 JBoss 提供了使用这些页面的权限。除了 Verbose GC 日志 header 显示 4k 页面大小外,一切看起来都正常。
Memory: **4k page**, physical 12802068k(7370652k free), swap 4194296k(4194296k free)
我希望这一行显示为“2m page”以匹配我们在 JAVA_OPTS 和 OS 级别定义的大页面大小,但也许 Java 堆"see" 大页面或 GC 日志 header 对这些更改不敏感(例如,此输出检查系统的页面大小,不一定是 [=24= 使用的页面],在本例中为 2m 的大页面(希望如此)。
有谁知道我是否应该期待这个 header 随着大页面的使用而改变?
GC 日志与大页面无关,并打印正常大小的页面大小 os::vm_page_size()
which is equal to getconf PAGE_SIZE
(4kB
for x86
)。
为了验证一切正常,您可以检查
的输出
java -XX:+UseLargePages \
-XX:LargePageSizeInBytes=2m \
-XX:+PrintFlagsFinal -version \
| grep LargePage
我们已使用以下命令在 JBoss 系统上启用大页面:
-XX:+UseLargePages
-XX:LargePageSizeInBytes=2m
并且我们已经在 OS 级别分配了页面,并为 JBoss 提供了使用这些页面的权限。除了 Verbose GC 日志 header 显示 4k 页面大小外,一切看起来都正常。
Memory: **4k page**, physical 12802068k(7370652k free), swap 4194296k(4194296k free)
我希望这一行显示为“2m page”以匹配我们在 JAVA_OPTS 和 OS 级别定义的大页面大小,但也许 Java 堆"see" 大页面或 GC 日志 header 对这些更改不敏感(例如,此输出检查系统的页面大小,不一定是 [=24= 使用的页面],在本例中为 2m 的大页面(希望如此)。
有谁知道我是否应该期待这个 header 随着大页面的使用而改变?
GC 日志与大页面无关,并打印正常大小的页面大小 os::vm_page_size()
which is equal to getconf PAGE_SIZE
(4kB
for x86
)。
为了验证一切正常,您可以检查
的输出java -XX:+UseLargePages \
-XX:LargePageSizeInBytes=2m \
-XX:+PrintFlagsFinal -version \
| grep LargePage