如何在 Amazon EC2 中获取 Java 线程转储:未找到 jstack

问题描述 投票:0回答:2

服务器运行 20-30 分钟后,我们遇到 CPU 使用率 100% 的问题。我们正在努力排除故障。

我读到我们可以使用

jstack
来生成高CPU线程的转储。

但是在 Amazon ami jstack 中未安装。

OpenJDK Runtime Environment (amzn-2.5.1.2.45.amzn1-x86_64 u65-b17)

有没有一种方法可以安装jstack而无需重新安装oracle build? 还有其他解决方案来转储吗?

java amazon-web-services amazon-ec2
2个回答
2
投票

尝试以下命令:

kill -quit <java process id>

线程 stackthreadses 应附加到默认输出。 更多信息请参见此处


0
投票

jstack
附带 Amazon Corretto 开发工具,可以使用
yum
将其安装在 EC2 实例上。

您可以通过以下方式搜索可用版本:

sudo yum search amazon-corretto-devel

在撰写本文时,这已返回给我

java-17-amazon-corretto-devel.x86_64 : Amazon Corretto 17 development tools

然后,要安装它,请运行:

sudo yum install java-17-amazon-corretto-devel.x86_64

之后

jstack
应该可以直接使用(可执行文件是
/usr/bin/jstack

© www.soinside.com 2019 - 2024. All rights reserved.