Java PCF 中的堆转储和线程转储
Java Heap dump and Thread dump in PCF
有没有办法在 PCF 中为 Java 应用程序收集 thread-dump
和 heap-dump
。
我知道我们可以 ssh
进入应用程序和 运行 任何 linux 命令。但是 ssh
被运营团队禁用了。所以我想了解 PCF
中是否还有其他支持的方式
Pivotal Apps Manager 非常好地支持与 Spring 引导执行器端点(如线程转储和堆转储)的交互 https://docs.pivotal.io/pivotalcf/2-4/console/using-actuators.html
除了 Tim 提到的 Spring Boot Actuator 端点之外,当 ssh
权限不是问题时,还有 cf java
cli 插件可以创建和下载堆转储和线程转储像
一样简单
cf java heap-dump APP_NAME > heapdump.hprof
最重要的是 Java Memory Assistant, which is well integrated into the Java Buildpack。
请注意,堆转储的创建始终受容器可用磁盘大小的限制。根据垃圾收集后堆的大小(创建堆转储时自动触发),可能需要通过 cf scale APP_NAME -k 2G
.
增加容器的磁盘大小
有没有办法在 PCF 中为 Java 应用程序收集 thread-dump
和 heap-dump
。
我知道我们可以 ssh
进入应用程序和 运行 任何 linux 命令。但是 ssh
被运营团队禁用了。所以我想了解 PCF
Pivotal Apps Manager 非常好地支持与 Spring 引导执行器端点(如线程转储和堆转储)的交互 https://docs.pivotal.io/pivotalcf/2-4/console/using-actuators.html
除了 Tim 提到的 Spring Boot Actuator 端点之外,当 ssh
权限不是问题时,还有 cf java
cli 插件可以创建和下载堆转储和线程转储像
cf java heap-dump APP_NAME > heapdump.hprof
最重要的是 Java Memory Assistant, which is well integrated into the Java Buildpack。
请注意,堆转储的创建始终受容器可用磁盘大小的限制。根据垃圾收集后堆的大小(创建堆转储时自动触发),可能需要通过 cf scale APP_NAME -k 2G
.