博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mat工具MemoryAnalyzer进行分析java内存溢出hprof文件
阅读量:6280 次
发布时间:2019-06-22

本文共 1769 字,大约阅读时间需要 5 分钟。

java服务端程序报错后会生成hprof文件,我们可以通过mat工具MemoryAnalyzer进行分析
下载地址:
http://www.eclipse.org/mat/downloads.php
说明:
查看HPROF快照
  JProfiler能打开用JVM工具(比如jconsole、 jmap或通过-XX:+HeapDumpOnOutOfMemoryError JVM参数触发)创建的HPROF快照文件

示例:

#!/bin/bashLANG="zh_CN.UTF-8"APP_HOME=$(echo `pwd` | sed 's/bin//')APPPIDFILE=$APP_HOME/app.pidcase $1 instart)    echo  "Starting server... "    HEAP_MEMORY=512m    PERM_MEMORY=64m    JMX_PORT=8888    JMX_HOST=1.1.1.1    JAVA_OPTS="-server -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false "    shift    ARGS=($*)    for ((i=0; i<${#ARGS[@]}; i++)); do        case "${ARGS[$i]}" in        -D*)    JAVA_OPTS="${JAVA_OPTS} ${ARGS[$i]}" ;;        -Heap*) HEAP_MEMORY="${ARGS[$i+1]}" ;;        -Perm*) PERM_MEMORY="${ARGS[$i+1]}" ;;        -JmxPort*)  JMX_PORT="${ARGS[$i+1]}" ;;        -JmxHost*)  JMX_HOST = "${ARGS[$i+1]}" ;;        esac    done    JAVA_OPTS="${JAVA_OPTS} -Xms${HEAP_MEMORY} -Xmx${HEAP_MEMORY} -XX:PermSize=${PERM_MEMORY} -XX:MaxPermSize=${PERM_MEMORY} -Dcom.sun.management.jmxremote.port=${JMX_PORT} -Djava.rmi.server.hostname=${JMX_HOST} -Dapp.home=${APP_HOME}"    echo "start jvm args ${JAVA_OPTS}"    nohup java -classpath .:./aa-media-2.0.0.jar:$CLASSPATH $JAVA_OPTS com.aaa.media.aaaMediaServer&     echo $! > $APPPIDFILE    echo STARTED    ;;stop)    echo "Stopping server ... "    if [ ! -f $APPPIDFILE ]    then        echo "error: count not find file $APPPIDFILE"        exit 1    else        kill -15 $(cat $APPPIDFILE)        rm $APPPIDFILE        echo STOPPED    fi    ;;*)    echo "Please enter start|stop ... "    ;;esacexit 0

转载于:https://www.cnblogs.com/reblue520/p/6239664.html

你可能感兴趣的文章
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>
玩转Edas应用部署
查看>>
music-音符与常用记号
查看>>
sql操作命令
查看>>
zip 数据压缩
查看>>
Python爬虫学习系列教程
查看>>
【数据库优化专题】MySQL视图优化(二)
查看>>
【转载】每个程序员都应该学习使用Python或Ruby
查看>>
PHP高级编程之守护进程,实现优雅重启
查看>>
PHP字符编码转换类3
查看>>
rsync同步服务配置手记
查看>>
http缓存知识
查看>>
Go 时间交并集小工具
查看>>
iOS 多线程总结
查看>>
webpack是如何实现前端模块化的
查看>>
TCP的三次握手四次挥手
查看>>