我们在 Amazon Linux 上使用 Wildfly 11 和 JDK 8。如何获取 Wildfly 进程的线程转储?我们正在尝试排除故障,以了解为什么该进程的 CPU 利用率很高。我们没有安装 jstack,所以我想使用“kill -3”,但它什么也没输出……
[myuser@mymachine ~]$ ps -elf | grep java
0 S jboss 1574 1 0 80 0 - 28276 - 07:02 ? 00:00:00 /bin/sh /usr/java/wildfly/bin/standalone.sh -c standalone.xml
0 S jboss 1617 1574 1 80 0 - 994904 - 07:02 ? 00:09:18 /usr/java/default/bin/java -D[Standalone] -server -Xms256m -Xmx2048m -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=512m -Djava.net.preferIPv4Stack=true -Dorg.jboss.boot.log.file=/usr/java/wildfly/standalone/log/server.log -Dlogging.configuration=file:/usr/java/wildfly/standalone/configuration/logging.properties -jar /usr/java/wildfly/jboss-modules.jar -mp /usr/java/wildfly/modules org.jboss.as.standalone -Djboss.home.dir=/usr/java/wildfly -Djboss.server.base.dir=/usr/java/wildfly/standalone -c standalone.xml
0 S 602 3777 3748 0 80 0 - 27619 - 15:24 pts/0 00:00:00 grep --color=auto java
[myuser@mymachine ~]$
[myuser@mymachine ~]$
[myuser@mymachine ~]$ sudo kill -QUIT 1574
[myuser@mymachine ~]$
任何帮助都值得赞赏,-
答案1
PID 不正确。请尝试
sudo kill -QUIT 1617
这是父 PID(1574)启动的 Java 进程