jvm调优

Posted 明镜止水丨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm调优相关的知识,希望对你有一定的参考价值。

栈内存溢出,主要发生在大数据批量处理的情况,一般解决方案: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调优的主要内容,如果未能解决你的问题,请参考以下文章

JVM性能调优

JVM性能调优

JVM常用调优参数 ——JVM篇

JVM调优经验分享

Java开发经典实战!java代码编译过程

JVM调优经验分享