如何从AWS Elastic Beanstalk环境中获取堆转储

时间:2019-05-07 04:10:10

标签: java spring-boot tomcat out-of-memory amazon-elastic-beanstalk

我们从运行在aws弹性beantalk中托管的tomcat容器内的spring boot应用程序中获取OutOfMemoryError。那么如何从弹性beantalk中获取堆转储?

https://stackoverflow.com/a/48110954/7024630 上面的答案提出了一种通过安装第三方依赖项来获取堆转储的方法,是否有任何方法可以直接从AWS Elastic Beanstalk获得?

1 个答案:

答案 0 :(得分:0)

尝试这个Best method for inspecting Elastic Beanstalk JVM heap,它对我有用。

就我而言,我使用的是Java 7:

$ which java
$ ls -lh /usr/bin/java
$ yum install java-1.7.0-openjdk-devel
$ yum --enablerepo='*-debug*' install java-1.7.0-openjdk-debuginfo
$ ps aux | grep tomcat
$ sudo -u tomcat jmap -dump:live,file=/tmp/test.hprof 12768
$ tar -czvf test.hprof.tar.gz /tmp/test.hprof
$ scp test.hprof.tar.gz xxxxxxxxxxxxx@x.y.z.w:~/