Java 为什么';jvm命令'jinfo'在alpine openjdk8发行版中有'-flags'吗?
我使用docker构建了一个java程序,Dockerfile的开头是Java 为什么';jvm命令'jinfo'在alpine openjdk8发行版中有'-flags'吗?,java,docker,jvm,alpine,Java,Docker,Jvm,Alpine,我使用docker构建了一个java程序,Dockerfile的开头是 FROM openjdk:8-jdk-alpine 但是我注意到jvm命令jinfo没有-flags,怎么了 bash-4.4# ./jinfo Usage: jinfo <option> <pid> (to connect to a running process) where <option> is one of:
FROM openjdk:8-jdk-alpine
但是我注意到jvm命令jinfo没有-flags
,怎么了
bash-4.4# ./jinfo
Usage:
jinfo <option> <pid>
(to connect to a running process)
where <option> is one of:
-flag <name> to print the value of the named VM flag
-flag [+|-]<name> to enable or disable the named VM flag
-flag <name>=<value> to set the named VM flag to the given value
-h | -help to print this help message
bash-4.4#/jinfo
用法:
金佛
(连接到正在运行的进程)
其中一个是:
-flag以打印命名VM标志的值
-标志[+|-]以启用或禁用命名VM标志
-flag=将命名VM标志设置为给定值
-h |-help打印此帮助消息
JDK for Alpine是在没有支持的情况下构建的,因为SA依赖于musl提供的功能
一些JDK实用程序在引擎盖下使用服务性代理来实现某些功能jinfo-flags
就是这种实用程序的一个例子。在引擎盖下也使用SA的其他示例有jmap-F
和jstack-F
。这些选项在Alpine JDK中也不可用。
在中,我描述了强制模式(-F
)与正常模式的区别,以及可维护性代理在其中扮演的角色
jinfo-flags
可以替换为jcmd VM.flags
jcmd
不依赖于SA,它可以在Alpine Linux上工作