摘要: 对于通过JNI使用Java的应用,比如使用JNI来调用JVM。给JVM传递参数,环境变量JAVA_TOOL_OPTIONS很可能是你唯一的可选项。
有关此环境变量的官方文档在此,本不用再饶舌,但是似乎不少人不知道这个变量及其文档。为传播计,还是记录一下。
首先,这个变量名字里虽然又“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'
本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。