提供有关适用于 Java 的 Azure 命令启动器常见问题的解答。
“jaz”与“java”命令有何不同?
除非用户显式配置,否则该 java
命令将运行具有默认设置的 HotSpot JVM(Java 虚拟机)。
jaz
java
通过经过战斗测试的云优化 JVM 优化默认值启动,旨在提高 Azure 容器和虚拟机上的性能和成本效益。
关键优势:开发人员无需手动优化 JVM。
jaz
为他们做。
如果我已在环境中设置一些 JVM 选项,该怎么办?
建议删除任何优化标志并应用 jaz
自己的标志。
jaz
假设大多数标志以 -X
或 -XX
作为优化标志开头。
不是优化标志的标志的一个显著示例是一个以 -Xlog
该标志开头的标志。
查找优化标志时 jaz
,它会处理自动读取的环境变量 java
。
环境变量包括:
- Java 8:
JAVA_TOOL_OPTIONS
、_JAVA_OPTIONS
- Java 9 及更高版本:
JAVA_TOOL_OPTIONS
、、JDK_JAVA_OPTIONS
_JAVA_OPTIONS
jaz
还处理 @-files,也称为命令行参数文件。
如果使用“jaz”传递自定义 JVM 优化标志,会发生什么情况?
如果工作负荷已包含优化标志,则默认情况下 jaz
不会应用其优化默认值。
jaz
java
使用所选标志启动。
可以通过设置环境变量来配置 jaz
忽略自定义 JVM 优化标志并传递自己的标志:
JAZ_IGNORE_USER_TUNING=1
忽略用户优化设置适用于命令行参数、环境变量读取方式 java
和 @-files。
是否可以使用“jaz”传递“java”代理标志?
Yes. 你仍然可以传递 -javaagent
其他未优化标志的标志,并 jaz
遵循它们。
可以保留有用的诊断标志,例如:
-
-Xlog
用于日志记录 -
-javaagent
For Application Insights 或其他应用程序性能监视 (APM) 检测代理
如果要 jaz
跳过其所有优化以进行故障排除,可以使用:
JAZ_BYPASS=1
在清理 JVM 优化标志之前,绕过优化非常有用,尤其是在仅 jaz
依赖于现有用户提供的 JVM 配置或 java
启动器默认值的情况下加入时。
“jaz”是否与非 Azure 环境兼容?
jaz
主要针对 Azure 容器和虚拟机进行设计和测试,但在技术上可以在其他位置运行。
但是,某些高级优化和未来的功能可能是特定于 Azure 的。
“jaz”是否可用于 Windows Server?
jaz
目前适用于 x64 和 arm64 环境中的 Linux。
如果立即需要 Windows Server,请联系我们 openjdk-support@microsoft.com