在 RH 机器上禁用系统范围内的 Java 大页面
Disabling Java huge-pages system-wide on a RH machine
我知道我可以通过添加
来禁用Java对进程使用大页面
-XX:-UseLargePages
到流程调用行。
但是,我想阻止 每个 java 应用程序使用大页面,而不必在 运行 上发现每个进程机.
在 RH 中禁用 THP 不会这样做。 Java 默认情况下,即使禁用了 THP,也会从大页面分配内存。
尝试在环境变量中设置这个JAVA_TOOL_OPTIONS
详情见http://www.oracle.com/technetwork/java/javase/envvars-138887.html
我用我的 Eclipse 安装检查了这个。在开始之前,我用 set JAVA_TOOL_OPTIONS="-Dfoo=123 -Dbar=456"
设置变量(在命令行上使用 export
或在 environment
文件中设置它会在 Linux 上执行相同的技巧)。
使用 visualvm 检查 JVM 表明考虑了新参数:
在控制台或相应的日志文件中,您很可能会看到如下条目:
Picked up JAVA_TOOL_OPTIONS: "-Dfoo=123 -Dbar=456"
我知道我可以通过添加
来禁用Java对进程使用大页面-XX:-UseLargePages
到流程调用行。
但是,我想阻止 每个 java 应用程序使用大页面,而不必在 运行 上发现每个进程机.
在 RH 中禁用 THP 不会这样做。 Java 默认情况下,即使禁用了 THP,也会从大页面分配内存。
尝试在环境变量中设置这个JAVA_TOOL_OPTIONS
详情见http://www.oracle.com/technetwork/java/javase/envvars-138887.html
我用我的 Eclipse 安装检查了这个。在开始之前,我用 set JAVA_TOOL_OPTIONS="-Dfoo=123 -Dbar=456"
设置变量(在命令行上使用 export
或在 environment
文件中设置它会在 Linux 上执行相同的技巧)。
使用 visualvm 检查 JVM 表明考虑了新参数:
在控制台或相应的日志文件中,您很可能会看到如下条目:
Picked up JAVA_TOOL_OPTIONS: "-Dfoo=123 -Dbar=456"