JavaJVM设置对性能的影响
来源:优易学  2009-1-5 9:19:51   【优易学:中国教育考试门户网】   资料下载   IT书店
文章页内部300*250广告位
  一台后端server,OS为Slackware 8.1,装了tomcat 4.1.30,近期在繁忙时期经常会死机,死状就是"java.lang.OutOfMemoryError: unable to create new native thread".是tomcat创建不了新的线程来应答请求了。于是我搭了一个环境专门来测试这个问题。内存为2G,CPU为四颗2.8G,tomcat 4.1.30,写一个最简单的JSP页面,如下:
  代码
  <%
  try
  {
  Thread.sleep(30000);
  out.println("fuck");
  } catch (InterruptedException e) {
  e.printStackTrace();
  } %>
  然后开Jmetor来压,同时开jconsole来监测tomcat的情况,并不断调整XMX,XMS,XSS这三个参数,得出下表:
  XMX XMS XSS down时的tomcat thread数
  500M 500M 128K 642
  800M 800M 64K 485
  1024M 1024M 64K 374
  1024M 1024M 128K 374
  1024M 1024M 512K 371
  根据该表,可以看出,随XMX,即是分配给JVM的内存数越大,tomcat所能开的thread数就越小,而Xss这个参数几乎不影响任何测试结果。我猜想tomcat开线程是使用linux的内存,而不是JVM的内存。当分配给JVM的内存越大,操作系统所能用于分配的内存就越小,于是所能开的线程数就越小。

责任编辑:小草

收藏此页】【 】【打印】【回到顶部
等级考试课程列表页595*300
文章搜索:
 相关文章
计算机底部580*90广告
文章页右侧第一330*280广告
计算机文章页资讯推荐
热点资讯
文章页330尺寸谷歌广告位
资讯快报
热门课程培训