-
学习元性能测试与分析
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
1.代码
- <%
- double total = (Runtime.getRuntime().totalMemory())
- / (1024.0 * 1024);
- double max = (Runtime.getRuntime().maxMemory()) / (1024.0 * 1024);
- double free = (Runtime.getRuntime().freeMemory()) / (1024.0 * 1024);
- out.println("Java 虚拟机试图使用的最大内存量(当前JVM的最大可用内存)maxMemory(): " + max
- + "MB<br/>");
- out.println("Java 虚拟机中的内存总量(当前JVM占用的内存总数)totalMemory(): " + total
- + "MB<br/>");
- out.println("Java 虚拟机中的空闲内存量(当前JVM空闲内存)freeMemory(): " + free
- + "MB<br/>");
- out.println("因为JVM只有在需要内存时才占用物理内存使用,所以freeMemory()的值一般情况下都很小,<br/>"
- + "而JVM实际可用内存并不等于freeMemory(),而应该等于 maxMemory()-totalMemory()+freeMemory()。<br/>");
- out.println("JVM实际可用内存: " + (max - total + free) + "MB<br/>");
- out.println("jspcn");
- %>
-
用loadrunner模拟300~500人访问
-
查看这个jsp页面程序,情况如下
Java 虚拟机试图使用的最大内存量(当前JVM的最大可用内存)maxMemory(): 1820.5MB
Java 虚拟机中的内存总量(当前JVM占用的内存总数)totalMemory(): 1820.5MB
Java 虚拟机中的空闲内存量(当前JVM空闲内存)freeMemory(): 230.25645446777344MB
因为JVM只有在需要内存时才占用物理内存使用,所以freeMemory()的值一般情况下都很小,
而JVM实际可用内存并不等于freeMemory(),而应该等于 maxMemory()-totalMemory()+freeMemory()。
JVM实际可用内存: 230.25645446777344MB
jspcn300人上线后程序无响应
-
查看mysql运行情况
另外写程序读取mysql,测试发现正常
-
初步估计
tomcat运行内存不足导致用户数一多,系统无响应。
-
-
- 标签:
- jvm
- 虚拟机
- 当前
- 学习元性能测试与分析
- 可用内存
- freememory
- 内存
- 程序
- 情况
- 1.
- out.println
-
加入的知识群:
学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~