首页 > 其他 > 详细

jvm调优(二)

时间:2016-11-24 09:09:59      阅读:329      评论:0      收藏:0      [点我收藏+]

栈内存溢出,主要发生在大数据批量处理的情况,一般解决方案:1.加大栈内存 2.分批处理(用事物,全通过则通过,没有通过则回滚) 

cpu过高,死锁啊,内存过高啊,i/0问题啊 都可以看 线程栈 jstat

堆内存溢出用jmap  

full gc 一般户导致 Cpu 高,所以当 cpu突然很高的时候 也可以排查下 是不在进行 full gc 

-----------------------------------------------------------------------------------------------------------------------------------------------

jvisualvm

配置 复制 startup.sh 文件为 startup_jvisualvm.sh

添加如下配置:
(最后一行)

export CATALINA_OPTS="$CATALINA_OPTS-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.189.129  -Dcom.sun.management.jmxremote.port=1050 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password  -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"
exec "$PRGDIR"/"$EXECUTABLE" start "$@"

然后

技术分享

添加就行了

插件的安装:

 

技术分享

 

备注:

技术分享

 

压测的时候 点击开始,结束后点击 停止,然后点击 拍照:

技术分享

在快照中 可以定位到 使用cpu高的 方法:

 

 技术分享

技术分享

 

堆 dump 

技术分享

 

将 生成的文件  用mat 打开

 技术分享

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

jprofiler 测试神器:

版本要一致

客户端:

技术分享

下一步:创建一个 远程的,选择远程的操作系:

技术分享

下一步:配置jvm厂商,版本, jvm32还是64

技术分享

看java版本
[root@besttest bin]# java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
看位数:
[root@besttest bin]# uname -a
Linux besttest.com 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

下一步:配置 linux ip地址:

技术分享

下一步配置 服务端  jprofiler 安装路径:

技术分享

下一步:配置端口号:

技术分享

下一步:把生成的配置考到 启动文件中去:(自己创建的startup_jprofiler.sh:见服务段操作)

技术分享

ok 完成

 

服务端:

下载解压,创建startup.sh 文件为 startup_jprofiler.sh

CATALINA_OPTS="-agentpath:/opt/jprofiler9/binnux-x64bjprofilerti.so=port=8849,nowait $CATALINA_OPTS"
export CATALINA_OPTS

# end of modifications

exec "$PRGDIR"/"$EXECUTABLE" start "$@"

技术分享

 

用法:

技术分享

 

 技术分享

 还可以看具体方法:

技术分享

 

 查看调用树

  技术分享

技术分享

 

 ---------------------------------------------------------------------------

cpu使用 情况:

技术分享

 

jvm调优(二)

原文:http://www.cnblogs.com/hanzhao1987/p/6096251.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!