添加Metaspace参数后启动Jar文件失败,JVM报错求助
问题原因及解决办法
问题出在你添加的Metaspace参数的减号上——你用的是中文全角减号(‐),而JVM只识别英文半角减号(-)。JVM把带全角减号的‐XX:MetaspaceSize=256M当成了jar文件路径,所以才会抛出“Error: Unable to access jarfile ‐XX:MetaspaceSize=256M”的错误。
修正后的启动命令
直接把参数里的全角减号替换成英文半角减号即可,修正后的完整命令如下:
nohup java -jar -Xms512M -Xmx512M -Xmn300M -XX:SurvivorRatio=6 -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -Dspring.profiles.active=test /data/code/application.jar >> /data/code/logs/application.log &
补充说明
JDK 1.8原生支持-XX:MetaspaceSize和-XX:MaxMetaspaceSize这两个参数,用来替代JDK 1.7及更早版本的永久代配置,所以参数本身是完全合法的,只是符号格式错误导致JVM识别异常。
内容的提问来源于stack exchange,提问作者william
相关产品推荐
相关产品推荐

