相关疑难解决方法(0)

_JAVA_OPTIONS JAVA_TOOL_OPTIONS和JAVA_OPTS之间的区别

我认为在_JAVA_OPTIONS和之间进行比较会很棒JAVA_TOOL_OPTIONS.我一直在寻找一个,但我找不到任何东西,所以我希望我们能在Stackoverflow上找到这方面的知识.

JAVA_OPTS包括完整性.它不是JVM的一部分,但在野外有很多问题.

我知道的:

到目前为止,我发现:

  • JAVA_OPTSJDK不使用它,而是由许多其他应用程序使用(请参阅此文章).
  • JAVA_TOOL_OPTIONS并且_JAVA_OPTIONS是将JVM参数指定为环境变量而不是命令行参数的方法.
    • 被至少javajavac
    • 他们有这个优先权:
      1. _JAVA_OPTIONS (覆盖其他人)
      2. 命令行参数
      3. JAVA_TOOL_OPTIONS (被其他人覆盖)

我想知道什么

  • 有没有官方文件比较JAVA_TOOL_OPTIONS_JAVA_OPTIONS
  • JAVA_TOOL_OPTIONS和之间是否存在任何其他差异_JAVA_OPTIONS(优先级除外).
  • 其中的可执行文件回暖JAVA_TOOL_OPTIONS_JAVA_OPTIONS(除了javajavac)
  • 什么可以被包含在任何限制JAVA_TOOL_OPTIONS_JAVA_OPTIONS

官方文件

我找不到任何关于的文档_JAVA_OPTIONS.该文件JAVA_TOOL_OPTIONS没有说明差异:

由于无法始终访问或修改命令行,例如在嵌入式VM中或仅在脚本内深入启动的VM,因此提供了JAVA_TOOL_OPTIONS变量,以便在这些情况下可以启动代理.
...

示例脚本

这是我用来解决这个问题的代码.控制台输出包含在注释中:

export JAVA_OPTS=foobar
export JAVA_TOOL_OPTIONS= 
export _JAVA_OPTIONS="-Xmx512m -Xms64m"

java -version                          
# Picked up JAVA_TOOL_OPTIONS: 
# Picked up _JAVA_OPTIONS: -Xmx512m -Xms64m
# …
Run Code Online (Sandbox Code Playgroud)

java jvm jvm-arguments

120
推荐指数
3
解决办法
6万
查看次数

用JAVA_OPTS env变量运行java

在shell脚本中,我设置了JAVA_OPTS环境变量(以启用远程调试并增加内存),然后执行jar文件,如下所示:

export JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Xms512m -Xmx512m"
java -jar analyse.jar $*
Run Code Online (Sandbox Code Playgroud)

但似乎没有JAVA_OPTS env变量的影响,因为我无法连接到远程调试,我看到JVM的内存没有变化.

可能是什么问题呢?

PS:我无法在java -jar analyse.jar $*命令中使用这些设置,因为我在应用程序中处理命令行参数.

java shell remote-debugging jvm-arguments

49
推荐指数
2
解决办法
9万
查看次数

有关_JAVA_OPTIONS的信息

任何人都可以解释当_JAVA_OPTIONS环境变量定义时以及在Windows机器上启动应用程序时Java会做什么?

java

35
推荐指数
2
解决办法
6万
查看次数

AWS Elastic Beanstalk - 设置 JVM 选项(堆空间)

再会。

我正在 AWS Elastic Beanstalk 上运行 Java 应用程序。我必须增加堆空间,通常我会通过 -Xmx 和 Xms 来实现。

我如何在 AWS 上完成此任务?

我正在以最简单的方式部署它 - 上传 jar 文件并运行它。我已经在这里找到了这个解决方案:

无法在 AWS Elastic Beanstalk Java SE 平台上设置 JVM 堆大小

部署时可以接受将 Procfile 与我的 .jar 一起放入 .zip 中,但没有任何改变。我真的没有想法,有人可以帮忙吗?

java amazon-web-services spring-boot amazon-elastic-beanstalk

6
推荐指数
1
解决办法
4570
查看次数

将 java_opts 传递给 kubernetes 中的 spring boot 应用程序

目前,我们正在使用入口点构建 Docker 映像,并将该映像传递到 Kubernetes 部署。

有没有办法将入口点直接动态传递给 Kubernetes,以便它启动 Spring Boot 应用程序?

在 Kubernetes 中直接传递此入口点有哪些不同方法?

### Runtime image ###
FROM openjdk:8-jre-alpine

#Set working dir
WORKDIR /test

# Copy the executable JAR
COPY /*.jar /test/

# Run the app
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Djsversion=1.0 -D<variable>=<service-1> -D<variable>=<service-2>   -jar  *.jar
Run Code Online (Sandbox Code Playgroud)

docker spring-boot kubernetes kubernetes-deployment kubernetes-pod

5
推荐指数
1
解决办法
3万
查看次数