• 在Linux中tomcat占用内存过高可以通过导出hprof日志来解决


    自动导出hprof日志

    第一种方法:

    Tomcat的hprof日志是一种用于分析Java堆内存使用情况的工具,它可以帮助开发人员找到内存泄漏的原因。

    hprof日志可以在特定的时间点对Java堆内存进行快照,并生成详细的分析报告。

    启用hprof日志导出的具体步骤如下

    1、找到tomcat1安装目录下的bin文件夹。

    2、编辑catalina.sh文件,在catalina.sh文件中设置环境变量,添加JVM参数来启用hprof。

    在catalina.sh中添加以下内容:

    1. JAVA_OPTS="$JAVA_OPTS -agentlib:hprof=heap=dump,format=b,file=/path/to/dump.hprof"
    2. export JAVA_OPTS

    3、重启tomcat1服务。

    注意:

    -agentlib:hprof:启用hprof代理;

    heap=dump:表示在达到指定条件时,将堆内存转储到文件中;

    format=b:指定转储文件的格式为二进制;

    file=/path/to/dump.hprof:指定转储文件的存储路径和文件名。

    重启tomcat1服务后,当满足hprof的触发条件时,它会将堆内存快照导出到指定的文件/path/to/dump.hprof中。

    hprof可能不在所有JVM版本中都可用,且在某些生产环境中可能会影响性能。

    第二种方法:

    Tomcat的hprof日志是一种用于分析Java堆内存使用情况的工具,它可以帮助开发人员找到内存泄漏的原因。

    要导出hprof日志,需要启用Tomcat的Heap Dump On Out Of Memory Error(内存溢出错误时导出堆转储)特性。

    启用hprof日志导出的具体步骤如下

    1、找到tomcat1安装目录下的bin文件夹。

    2、编辑catalina.sh文件,在catalina.sh文件中设置环境变量,添加JVM参数来启用hprof。

    在catalina.sh中添加以下内容:

    1. JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/heapdump"
    2. export JAVA_OPTS

    3、重启tomcat1服务。

    注意:

    -XX:+HeapDumpOnOutOfMemoryError:启用hprof的关键参数;

    -XX:HeapDumpPath:用于指定hprof文件的保存路径。

    当Tomcat因OutOfMemoryError而产生hprof日志时,就会自动保存在指定的路径。

    生成的hprof文件可能会非常大,因此应该确保-XX:HeapDumpPath 指向一个有足够空间的磁盘分区。

    手动导出hprof日志

    Tomcat的hprof日志是一种用于分析Java堆内存使用情况的工具,它可以帮助开发人员找到内存泄漏的原因。

    dump文件(.hprof)日志生成方式:

    # 查看tomcat1进程PID

    命令:cd /usr/local/src

    ps -ef | grep tomcat1

    # 根据tomcat1进程PID手动导出.hprof文件

    命令:jmap -dump:format=b,file=tomcat1.hprof [PID]

    或    jmap -dump:live,format=b,file=tomcat1.hprof [PID]

  • 相关阅读:
    我们用到的3种Mock测试方案​
    使用Python进行云计算:AWS、Azure、和Google Cloud的比较
    共享WiFi贴项目怎么自己搭建平台,如何避坑?微火为你解答!
    《web课程设计》基于HTML+CSS+JavaScript典的中医药大学网(11个页面)
    计算机毕业设计之java+javaweb的超市库存管理系统
    org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata
    如何在Ubuntu 22.04使用wine安装windows版本微信
    PTR: Prompt Tuning with Rules for Text Classification
    单片机 MCU 固件打包脚本软件
    用 KV 缓存量化解锁长文本生成
  • 原文地址:https://blog.csdn.net/weixin_43268590/article/details/139328658