最近项目有缓存方案,后来用jconsole进行内存使用测试,以流水账方式记录如下
开始研究了一下jconsole使用方式,在我的机器上用pid方式总是没有tomcat进程id,搜了半天也解决不了,最后只能用远程方式(其实这样也比较合理)连接,用远程方式首先需要修改tomcat中的catalina.bat(与startup.bat同级),增加JAVA_OPTS,可开始是安装版tomcat,没有这个东西,很多东西都以windows服务方式写到注册表里去了,找了半天找不到地方,后来又下了解压缩版,里面有catalina.bat,在dorun和dostart段开头增加一行(注意是一行):
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port="9004"
-Dcom.sun.management.jmxremote.authenticate="false" -Dcom.sun.management.jmxremote.ssl="false"
完后启动jconsole后,用远程方式通过9004端口能监控到我的tomcat了.终于可是开始测试了
开始tomcat默认分配内存很小jconsole里面看只有初始6,276 Kb,最大65,088 Kb,当我后续测试中以1000用户并发访问时已经突破65kb了,所以要修改tomcat大小,还是修改catalina.bat 前面增加set JAVA_OPTS=-Xms128m -Xmx512m ,完后再用jconsole看已经是初始 130,112 Kb 最大520,256 Kb了,至此基本结束,经过调试后,我的缓存方案的内存使用曲线已经比较好看了,贴个图炫一下吧