有关此环境变量的官方文档在此,本不用再饶舌,但是似乎不少人不知道这个变量及其文档。为传播计,还是记录一下。
首先,这个变量名字里虽然又“TOOL”字眼,但是,其角色却是“JAVA_OPTIONS”。只不过因缘巧合,名不符实罢了。
平时见惯了有冲击力的java命令行。比如,这样的
当然,良好实践也是必不可少的,比如,Java VM Options You Should Always Use in Production。
但是,偶尔还是会有这样的情况,正如上面官方文档提到的,还是有时候,需要调整,比如,调整jvm配置,但是你没有办法通过配置文件(可能是自己编译的jdk)或者java命令行选项来做到这一点。
比如,Impala: Real-time Query for Hadoop,即有一个守护进程,是C++程序,直接使用的JNI,调用了libjvm.so。搜索官方网站和检查源码,均没有发现配置方法。这种情况下,要给Impala启动的JVM传递参数,只有使用JAVA_TOOL_OPTIONS环境变量了。
按照惯例,要给一个示例
export JAVA_TOOL_OPTIONS=' -Xss2m'