我试图衡量在Windows 7 HotSpot JVM中使用大内存页面的性能提升.为此,我需要监视JVM内存使用情况,以确保实际使用大页面.不幸的是,我无法找到实现这一点.以下是我所做的设置和试验的说明:
环境设置
我正在使用64位Windows 7终极版进行测试."锁定内存中的页面"Windows安全策略已启用,如Java Support for Large Memory Pages中所述.我还验证了通过运行java version命令启用了大页面功能,如下所示:
java -XX:+UseLargePages -version
Run Code Online (Sandbox Code Playgroud)
我在哪里得到以下结果,专门用于启用大页面功能:
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
Run Code Online (Sandbox Code Playgroud)
在我的所有试验中,我使用此视频中的示例Java程序来使用java堆可用的所有内存:
public class InfinteStringHashmap {
public static void main(String[] args) throws Exception{
Map<Long, String> map = new HashMap<Long, String>();
for(long i=1; true; i++){
StringBuilder sb = new StringBuilder();
for(long j=0;j<i;j++) sb.append(" ");
map.put(i, sb.toString());
if(i % 1000 == 0){
System.out.print(".");
Thread.sleep(1000); …Run Code Online (Sandbox Code Playgroud)