Google cloud dataflow 谷歌云数据流虚拟机上的jstack和其他工具
有没有办法在为数据流作业创建的VM上运行jstack? 我正在尝试查看作业在哪里花费了大部分CPU时间,但我找不到它已安装 谢谢,Google cloud dataflow 谷歌云数据流虚拟机上的jstack和其他工具,google-cloud-dataflow,Google Cloud Dataflow,有没有办法在为数据流作业创建的VM上运行jstack? 我正在尝试查看作业在哪里花费了大部分CPU时间,但我找不到它已安装 谢谢, G我不熟悉jstack,但基于谷歌的快速搜索,它看起来像是一个独立于JVM运行的工具,只需要一个PID。因此,您可以在作业运行时执行以下操作 使用gcutil ssh将ssh连接到其中一个vm中 在VM上安装jstack 运行ps-aux | grep java来识别java进程的PID 使用您识别的PID运行jstack 那对你有用吗?您是否试图在代码中运行jst
G我不熟悉jstack,但基于谷歌的快速搜索,它看起来像是一个独立于JVM运行的工具,只需要一个PID。因此,您可以在作业运行时执行以下操作
那对你有用吗?您是否试图在代码中运行jstack以便自动分析它?我发现一个可行的解决方法:
sudo docker ps
apt get Install openjdk-7-jdk安装openjdk-7-jdk
/usr/bin/jstack 1437
--enableProfilingAgent
选项获取配置文件的一些基本说明。这并没有回答您问题中的“和其他工具”部分,但是:
Dataflow workers运行本地http服务器,您可以使用该服务器获取一些信息。不使用jstack,您可以通过以下方式获得线程转储:
curl http://localhost:8081/threadz
这些工具是Oracle JDK的一部分(也应该在OpenJDK中),因此我希望它们是机器上Java安装的一部分,而不单独安装它们。我尝试安装OpenJDK-7-JDK包,显然它的jstack无法连接到Java进程。。。也许和docker有关。。