精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-10-17
最后修改:2011-10-20
tomcat的catalina.sh配置如下。 JAVA_OPTS='-d64 -server -Xms8g -Xmx8g -XX:PermSize=256m -XX:MaxPermSize=256m -Xss256k' CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=ip地址" 现在怀疑是某个功能的代码写的有问题,问,visual vm有没查看某个线程运行时使用内存情况的命令和插件呀。 新发现的问题可能是jasperreport的问题,使用的版本是3.7.0.,还有使用jasperreport的朋友吗? 有点新的发现JasperPrint对象内的pages属性(ArrayList)size=100多万,这个是什么原因造成的呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-10-17
得到javaCore文件和heap dump文件,然后可以查看是线程问题还是内存问题~
|
|
返回顶楼 | |
发表时间:2011-10-17
程序新手 写道 得到javaCore文件和heap dump文件,然后可以查看是线程问题还是内存问题~
哥们详细点吧,如果得到这两个文件,用什么工具查看。 |
|
返回顶楼 | |
发表时间:2011-10-17
.....线上问题当然是用眼睛看了~~
|
|
返回顶楼 | |
发表时间:2011-10-17
neptune 写道 visual vm有没查看某个线程运行时使用内存情况的命令和插件呀。 你这话问得就有问题,每个线程开辟的栈内存都是隔离的,一般情况下不会出现问题,你要看就看堆内存,把 catalina.sh加上GC相关参数,看下是不是FullGC太频繁或者时间太长,另外性能瓶颈也可能是数据库,先把问题缩 小到一个区域,再逐渐去定位~ 另外你服务器的性能非常好了已经,但是实际利用率多少得你去怀疑~ 送君一句话:“适当”依赖可视化工具 |
|
返回顶楼 | |
发表时间:2011-10-17
jstat -gcutil 'grep java' 1000 5
你用这个方法看下,不会影响性能的. 'grep java' 是对应java进程的pid. 每个1000ms打印gc统计信息,打印五次. |
|
返回顶楼 | |
发表时间:2011-10-17
neptune 写道 系统运行环境在rhel5.5上,64个cpu,64G的内存。系统先是分配了32g给jvm,用visual vm监控,运行2个小时后32g全部使用了,然后系统非常慢。然后修改为jvm使用4g内,也是一会就全部使用完。
系统配置很强悍啊! |
|
返回顶楼 | |
发表时间:2011-10-17
程序新手 写道 得到javaCore文件和heap dump文件,然后可以查看是线程问题还是内存问题~
32g的内存全部dump下来。。。。磁盘空间估计是不是问题,可是MemoryAnalyzer这样的工具能分析吗? |
|
返回顶楼 | |
发表时间:2011-10-17
估计是内存泄漏问题
|
|
返回顶楼 | |
发表时间:2011-10-17
haoweishow 写道 程序新手 写道 得到javaCore文件和heap dump文件,然后可以查看是线程问题还是内存问题~
32g的内存全部dump下来。。。。磁盘空间估计是不是问题,可是MemoryAnalyzer这样的工具能分析吗? haoweishow 写道 然后修改为jvm使用4g内,也是一会就全部使用完 |
|
返回顶楼 | |