一、当前参数参数查看
通过jps -v 查看当前物理机所有进程PID下的Java项目启动时配置的JVM参数
网图例:
二、场景举例
VerifyError
通常是修改字节码引起的类加载阶段的验证错误。
出现的原因:jar包冲突、编程代码异常等。
临时解决思路:可通过配置JVM启动参数关闭校验来临时解决项目无法启动的问题。
操作步骤:① 修改方式通过cd 命令切换至服务所在tomcat的bin目录下
② vim 编辑 catalina.sh 文件 在文件最上方即可自定义JVM 启动参数
三、JVM常用参数配置
1、关闭JVM字节码校验
-Xverify:none
2、服务器开启远程Debug功能
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=18080
3、设置项目启动后用到的so动态库地址
-Djava.library.path=/soc/lib/sigar/ 后面路径为dll或者so文件目录
4、OutOfMemory异常时生成dump文件
-XX:+HeapDumpOnOutOfMemoryError
// 设置文件存储路径
-XX:HeapDumpPath=/data/jvm/dump.hprof
5、发生Full GC时生成dump文件
// 在Full GC前dump
-XX:+HeapDumpBeforeFullGC
// 在Full GC后dump
-XX:+HeapDumpAfterFullGC
// 设置Dump保存的路径
-XX:HeapDumpPath=/data/jvm/dump.hprof
6、修改内存(一般不修改)
-Xms512m: JVM堆内存初始值为512M。
-Xmx512m: JVM堆内存最大可用内存为512M。
-Xmn200m:设置年轻代大小为200M。
注:其他突发情况可上网查询相关参数详情进行设置。