【k8s中無法使用jstack和arthas的解決方案】1: Unable to get pid of LinuxThreads manager thread


使用alpine鏡像,jstack和arthas等無法連接到pid為1的java進程

k8s容器中執行結果

/ # jstack 1
1: Unable to get pid of LinuxThreads manager thread

 

解決辦法:

啟動參數通過變量取代,比如:

CMD java $JAVA_OPTS -jar /order.jar

 

通過top可以看到,進程1就被上面命令占用,

參數替換后的命令是非1的進程,此時就可以使用jstack和arthas等命令了。

  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
    6     1 root     S    3929m  44%   2   0% java -javaagent:/usr/skywalking/agent/skywalking-agent.jar
   85     0 root     S     1528   0%   2   0% /bin/sh
    1     0 root     S     1520   0%   1   0% /bin/sh -c java $JAVA_OPTS -jar /order.jar
   91    85 root     R     1516   0%   2   0% top

 

不能寫為下面方式,否則java進程的pid是1:

ENTRYPOINT exec java $JAVA_OPTS  -jar /order.jar

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM