使用jmeter和gcview观察JVM垃圾收集情况和性能

使用 jmeter gcview 观察 JVM 垃圾收集情况和性能

作者:韩超

工具介绍:

 

jakarta-jmeter-2.3.4

一款免费的压力测试软件可以对应用服务器和DB 进行压力测试,能够返回服务性能指标值

截图

gcviewer-1.29

是免费的开源垃圾回收视图化查看工具

这个工具只能在1.5 以下的版本中运行,1.6 以后没有对应。这个工具是根据JVMGC 执行的log 来视图化的,因此我们第一件要做的就是产生gc log 。要产生gc log 需要修改JVM 的配置。

各版本JDK 配置如下:(官方说法)

实验方法

介绍

此实验目的是为了通过实验学会jmetergcviewer 工具的使用,是我们在以后的工作中能够更好的通过此工具定位中间件问题,更好的开展工作。

实验环境

RedHat 虚拟机(Linux localhost 2.6.9-89.0.11.ELsmp #1 SMP Tue Sep 15 07:16:37 EDT 2009 i686 i686 i386 GNU/Linux

中间件("WebLogic Platform" Version="10.3.1.0"

JDK java full version "1.6.0_11-b03"

Weblogic JDK 设置(java -client -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m

实验步骤

1、 weblogic 域目录下bin 目录下打开startWebLogic.sh 文件在文件中加一行JAVA_OPTIONS="${JAVA_OPTIONS} -verbose:gc -Xloggc:gc.log" 重启weblogic ,此时在域目录下产生了gc.log 文件。

2、 启动jmeter 工具建立线程组(配置线程数1000 ,停顿时间1 秒,循环次数是永远)。

截图

 

 

 

然后在循环组里建立了HTTP 请求(请求的URL http://192.168.1.102:7001/console/console.portal?_nfpb=true&_pageLabel=ServerMonitoringPerformancePage http 请求时同时发送username=weblogicpassword=12345678

 

 

 

 

 

 

 

截图

 

 

 

建立使用图表和列表监控器查看压力测试结果

 


 

截图

 

1、 当发现使用浏览器无法进入weblogic 控制台时停止压力测试,观察gc.log 发现

11538.463: [Full GC 520255K->502074K(520256K), 3.4326990 secs]

11542.221: [Full GC 520255K->501900K(520256K), 3.4342490 secs]

11545.797: [Full GC 520255K->503636K(520256K), 3.5118180 secs]

11549.563: [Full GC 520255K->504382K(520256K), 3.2005410 secs]

11552.915: [Full GC 520255K->502837K(520256K), 3.2495890 secs]

11556.393: [Full GC 520255K->502607K(520256K), 3.0438470 secs]

11559.630: [Full GC 520253K->503526K(520256K), 3.0430040 secs]

11562.785: [Full GC 520255K->503659K(520256K), 3.3416990 secs]

11566.199: [Full GC 520255K->507217K(520256K), 3.1960570 secs]

11569.887: [Full GC 520245K->505854K(520256K), 3.2310940 secs]

11573.307: [Full GC 520253K->507130K(520256K), 3.4036820 secs]

11577.002: [Full GC 520251K->506423K(520256K), 4.3883250 secs]

11581.734: [Full GC 520251K->503336K(520256K), 2.9926290 secs]

11584.866: [Full GC 520255K->505005K(520256K), 2.9095000 secs]

11588.180: [Full GC 520255K->502112K(520256K), 3.3802670 secs]

11591.926: [Full GC 520256K->501053K(520256K), 3.0464990 secs]

11595.410: [Full GC 520255K->497727K(520256K), 2.9174710 secs]

说明频繁在做Full GC weblogic 无法正常的相应用户请求。

2、 使用gcviewer 工具分析gc.log

 

 

截图

 

 

 

 

截图

 

从图中可以看出在进行压力测试过程中JVM 由原来测256M 增加到512M (红色部门代表total heap ),垃圾回收出现逐渐上升的趋势(图中蓝色部分)说明有一部分对象不能正确回收也就是内存泄露存在。图中黑色部分说明此时JVM 已经出现异常(黑色代表Full GC )频繁进行Full GC 而每次FULL GC 也不能回收内存而FULL GCJVM 不想应用户请求所以导致weblogic 控制台进不去。图中绿色线代表每次垃圾回收时间从中可以看出垃圾回收时间也在增加。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值