- 我的 Spring Boot 应用程序存在内存泄漏 它能够在 5 秒的时间内处理 70 个并发请求,并且在我的本地计算机上运行顺利
当我在 OSE 上部署相同的应用程序时,它产生了内存不足问题
我试图将 java 分析工具连接到远程 OPENSHIFT java pod?
是否有任何程序可以收集堆转储或将配置文件工具(jvisualvm)连接到 ose pod?
最佳答案
在内存不足的情况下,可以通过手动方式收集 ThreadDump 和 HeapDump
- oc 获取 Pod -> 列出 Pod
- oc rsh pod -> 远程 shell 到 pod
- “jmap -dump:format=b,file=heap_dump1.hprof 1” -> 运行 JMAP 命令来收集堆转储
- “jcmd 1 Thread.print > threaddump.txt” -> 运行 jcmd 来收集线程转储
- oc volume dc/yourApp --add --claim-size 512M --mount-path --name downloads -> 创建持久卷
手动连接 Pod 后,在 ose 终端 3 和 4 上显式执行命令 直到应用程序达到 OOM 并且由于持久卷上的转储日志将不会被清除
- 将 heapDump 文件和 threadDump 文件从 OSE pod 复制到本地文件系统 通过“tar”压缩后
OC rsync
关于java - 有没有办法连接探查器 OSE JAVA 应用程序 Pod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50492643/