jvm调优(二)

本文介绍了Java应用中常见的性能问题及解决方法,包括栈内存溢出的处理、CPU使用率过高的排查技巧、堆内存溢出的分析手段,并分享了使用jVisualVM、jProfiler等工具的具体步骤。

栈内存溢出,主要发生在大数据批量处理的情况,一般解决方案: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使用 情况:

 

转载于:https://www.cnblogs.com/hanzhao1987/p/6096251.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值