Java 如何配置在CloudFoundry上运行的spring boot webapp的内存?
我有一个Spring boot应用程序运行在内部cloud foundry空间上。 我想监视这个web应用程序的堆栈和堆内存,以便找到源于代码的StackOverflow异常Java 如何配置在CloudFoundry上运行的spring boot webapp的内存?,java,spring-boot,cloud-foundry,memory-profiling,Java,Spring Boot,Cloud Foundry,Memory Profiling,我有一个Spring boot应用程序运行在内部cloud foundry空间上。 我想监视这个web应用程序的堆栈和堆内存,以便找到源于代码的StackOverflow异常 配置应用程序的最佳方法是什么。如果您在cloudfoundry安装中启用了ssh访问,您可以使用JMX或您的Kit Profiler来执行此操作 以下是一些链接: 1.使用JMX设置运行应用程序 要在本地计算机上测试评测,请使用以下JMX配置运行App,然后转到最后一步“3.VisualVM配置”: ja
配置应用程序的最佳方法是什么。如果您在cloudfoundry安装中启用了ssh访问,您可以使用JMX或您的Kit Profiler来执行此操作 以下是一些链接:
- 要在本地计算机上测试评测,请使用以下JMX配置运行App,然后转到最后一步“3.VisualVM配置”:
java \ -Dcom.sun.management.jmxremote=true \ -Djava.rmi.server.hostname=localhost \ -Dcom.sun.management.jmxremote.port=9999 \ -Dcom.sun.management.jmxremote.rmi.port=9999 \ -Dcom.sun.management.jmxremote.ssl=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -jar theapp.jar ...
- 要将JMX配置传递到CF中的应用程序,请使用
环境变量(或JBP_CONFIG_JMX
,参数如上所述),JAVA_OPTS
:manifest.yml
applications: - name: theapp buildpack: java_buildpack env: JBP_CONFIG_JMX: "{enabled: true, port: 9999}" # JAVA_OPTS: "-Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=localhost -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.rmi.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
- 下载
- 运行VisualVM:
VisualVM--jdkhome“$JAVA\u HOME”
- 添加JMX连接:
localhost:9999
- 检索并显示应用程序的guid:
cf应用程序应用程序--guid #示例:12345678-1234-1234-1234-123456789012
- 获取ssh客户端的一次性密码:
cf ssh代码 #示例:PolSkAjEzyKtrUdnA
- 创建PuTTY SSH连接:
- 主机名:
app.your.cloud
- 端口:
2222
- 用户名:
cf:/@ssh.your.cloud
- 示例:
cf:12345678-1234-1234-1234-123456789012/0@ssh.your.cloud
- 示例:
- 密码:
- 示例:
PolSkAjEzyKtrUdnA
- 示例:
- 连接/ssh/tunnels/:
- 源端口:
9999
- 目的地:
127.0.0.1:9999
- 源端口:
- 主机名:
您还可以使用创建SSH隧道
cf ssh -N -T -L 9999:localhost:9999 theapp