默认docker启动进程为1 /usr/lib/jvm/java-1.8-openjdk/bin # ./jstack 1 1: Unable to get pid of LinuxThreads manager thread 解决办法: 使用/bin/sh -c把命令写入sh文件,然后启动sh 比如: /bin/sh -c echo java -jar -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/proxy-gc...
$docker build . -t example-attach $# 启动容器 $docker run --name example-attach --rm example-attach $# 在另一个终端进入容器,执行jstack $dockerexec -it example-attach sh /app/src/main/java # jstack 1 1: Unable to get pid of LinuxThreads manager thread 成功复现问题!接下来开始分析。 ...
# Attach docker/k8s 里的 pid 为 1 的进程失败 参考: https://github.com/alibaba/arthas/issues/362#issuecomment-448185416在新窗口打开 # 为什么下载了新版本的 Arthas,连接的却是旧版本? 比如启动的 as.sh/arthas-boot.jar 版本是 3.5._ 的,但是连接上之后,打印的 arthas 版本是 3.4._ 的。
默认docker启动进程为1 /usr/lib/jvm/java-1.8-openjdk/bin # ./jstack 1 1: Unable to get pid of LinuxThreads manager thread 1. 2. 解决办法: 使用/bin/sh -c把命令写入sh文件,然后启动sh 比如: /bin/sh -c echo java -jar -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/...
$ sudo docker # docker 命令帮助 Commands: attach Attach to a running container # 当前 shell 下 attach 连接指定运行镜像 build Build an image from a Dockerfile # 通过 Dockerfile 定制镜像 commit Create a new image from a container's changes # 提交当前容器为新的镜像 ...
$ docker exec -it example-attach sh /app/src/main/java # jstack 1 1: Unable to get pid of LinuxThreads manager thread 成功复现问题!接下来开始分析。 正常的 attach 流程是什么样子的? 如下是在排查问题中,梳理出来的 jvm Attach 流程:
$ docker build . -t example-attach $# 启动容器 $ docker run --name example-attach --rm example-attach $# 在另一个终端进入容器,执行as.sh $ docker exec -it example-attach sh /app/src/main/java $ /opt/arthas/as.sh Arthasversion:3.6.7 ...
1 人赞同了该回答 目录 收起 排查bug神器,值得一学 实战最常用命令 一、Docker 安装 1.1 安装yum源 1.2 卸载Docker包: 1.3 配置镜像仓库 1.4 启动监控 1.5 制作自己的镜像 二、基础命令 三、操作命令: 四、案例 排查bug神器,值得一学 实战最常用命令...
$# 构建镜像$docker build . -t example-attach$# 启动容器$docker run --name example-attach --rm example-attach$# 在另一个终端进入容器,执行jstack$docker exec -it example-attach sh/app/src/main/java# jstack 11: Unable to get pidofLinuxThreads manager thread ...
# ./Dockerfile FROM openjdk:8-jdk-alpine as builder COPY ./ /app WORKDIR /app/src/main/java/ # 编译java文件 RUN javac Main.java # 运行时容器使用JRE FROM openjdk:8-jre-alpine RUN apk add bash curl busybox-extras WORKDIR /app/src/main/java/ ...