首页 > 其他分享 >docker jdk 容器内无法使用 jstack/jmap/jstat 等命令

docker jdk 容器内无法使用 jstack/jmap/jstat 等命令

时间:2022-10-19 07:44:31浏览次数:54  
标签:容器 java jdk jstack amazoncorretto 命令 jstat

问题: 想看看容器内 java 线程锁的状态,运行 jstack 1 提示 “Unable to get pid of LinuxThreads manager thread”,使用其他 jdk 命令也是如此
排查:原因是因为容器内的 java pid 为 1,导致内置的 jdk 命令无法使用,有个解决方案是用 bash 去启动 java, java 进程 id 就不为 1,但是这样和每个容器内只运行一个程序的最佳实践冲突了
解决:使用 amazoncorretto 的 jdk,amazon 团队解决了这个问题,用 amazoncorretto jdk 作为 jdk 基础镜像,经过测试,可以正常使用 jdk 命令。 zulu 发行版的 jdk 也没有这个问题

amazoncorretto:8u342-alpine3.16
mcr.microsoft.com/java/jdk:8-zulu-alpine

标签:容器,java,jdk,jstack,amazoncorretto,命令,jstat
From: https://www.cnblogs.com/iyiluo/p/16804879.html

相关文章

  • 什么是JDK,JRE
      1.JDK的基本介绍JDK的全程(javaDevelopmentKit  java开发工具包)。JDK=JRE+java的开发工具[java,javac,javadoc,javap等。JDK是提供给Java开发......
  • docker部署的jenkins配置多jdk版本环境时,报错/var/jenkins_home/jdk-17.0.4/bin/java:
    背景:jenkins默认jdk版本1.8,某个项目需要使用jdk17,但jenkins从官网在线安装的jdk最高版本只有jdk1.9,手动安装jdk17完成后,在jenkins容器内执行手动安装的jdk17时,报错/var/jen......
  • 安装JDK以及eclipse
    一、下载安装JDK官方网址:https://www.oracle.com/java/technologies/downloads/如下图选择,然后打开安装,我的安装路径为D:\JAVA\JDK。 二、配置环境变量找到“计算机......
  • jdk 5 到 jdk 10各个版本的新特性
    jdk5jdk10各个版本的新特性JDK1.5新特性:1.自动装箱与拆箱:2.枚举3.静态导入,如:importstaticjava.lang.System.out4.可变参数(Varargs)5.内省(Introspector),主要用于操作JavaBean......
  • Jdk 9 更新导致 Eclipse 启动问题
    解决方案:在eclipse.ini里面添加一行配置:--add-modules=ALL-SYSTEM//添加这行如下:~/soft/Eclipse.app/Contents/Eclipse$vimeclipse.ini1-startup2../Eclipse/p......
  • JDK1.7和JDK1.8中concurrentHashMap的区别
    一、JDK1.8和JDK1.7的几个区别:数据结构:取消了Segment分段锁的数据结构,取而代之的是数组+链表+红黑树的结构。保证线程安全机制:JDK1.7采用segment的分段锁机制实现线程......
  • Java JDK 动态代理(AOP)使用及实现原理分析
    目录​​一、什么是代理?​​​​二、Java动态代理类 ​​​​三、JDK的动态代理怎么使用?​​​​四、动态代理怎么实现的?​​​​五、结论​​一、什么是代理?代理是一种常......
  • Java_SE之Java_SE平台与JDK
    Java平台JavaSE:JavaPlatform,StandardEditionJavaSE是一个计算平台,用于为桌面和服务器环境开发和部署可移植代码。JavaSE以前称为Java2Platform,StandardEd......
  • openjdk 11 以及8 项目构建退休建议选择其他构建源
    如果大家看dockerhub官方关于openjdk镜像的建议会发现,已经不推荐我们使用了,反而推荐我们使用amazon,eclipse-temurin,ibm以及sap的jvm镜像具体的原因github有说明,所以日......
  • Nacos启动报错:Please set the JAVA_HOME variable in your environment, We need java
    可能原因:1.JDK版本过低(应不低于1.8)2.未设置jdk环境变量(可能性低)3.jdk环境变量设置不适配nacos(博主就是这个原因) 解决方案:1.直接在startup.cmd文件中设置JA......