我想定期记录我的Java应用程序的jmap直方图,这个Heroku Dev page描述了如何通过使用with_jmap
前缀java命令来获取Heroku Java应用程序的jmap histos。
但是,如果我使用shell脚本启动Java应用程序并且我不想修改该shell脚本,该怎么办?我没有看到相同的文档。
答案 0 :(得分:1)
如果您知道如何查找底层Java进程的PID,则可以创建自己的with_jmap
脚本并将其添加到项目中。脚本的来源在这里:
https://github.com/heroku/heroku-buildpack-jvm-common/blob/master/opt/with_jmap
除了某些ps ... | grep ...
命令之外,我不确定是否有一种好的方法可以做到这一点。
修改强>
基于此讨论,with_jmap
命令已得到改进,以支持shell脚本。所以你应该能够设置你的Procfile:
web: with_jmap sh start.sh
将sh start.sh
替换为您的脚本,Java命令或启动Java进程的任何其他命令。
答案 1 :(得分:0)
Heroku最近发布了ps:exec beta版。看看https://devcenter.heroku.com/articles/heroku-exec#using-java-debugging-tools