Jvm虚拟机(三)-JVM的基础配置和异常分析-图文总结

结合前两章的内容总计下我们JVM使用过程中,一些常见的参数配置,和可能会出现的异常分析。

JVM

常见JVM参数配置

GC:

-verbose:gc
表示输出虚拟机中GC的详细情况

-XX:PrintGC
每次触发GC的时候打印相关日志

-XX:+PrintGCDetails
每次触发GC的时候更详细的相关日志

堆:

-Xms20M
	堆初始值,也可以称之为最小可用值

-Xmx20M
	堆最大可用值

-Xmn10M
	新生代最大可用值

-XX:SurvivorRatio=8
	设置EdenSuivior的比例
		目的可以反推出占新生代的比值

-XX:NewRatio=4
	新生代(eden+2*S)和老年代(不包含永久区)的比值
		4代表 新生代:老年代=1:4,老年代是新生代的4倍,新生代占5分之一的内存

 -XX:HeapDumpPath=${目录}
	堆快照生成地址
		会生成*.hprof文件

-XX+HeapDumpOnOutOf-MemoryError
	可以让虚拟机在出现内存溢出异常的时候Dump出当前的内存堆转储快照,以便进行时候分析

虚拟机栈和本地方法栈

-Xoss 设置本地方法栈大小
	基本无任何效果

-Xss
	设定栈容量

方法与和运行时常量池

-XXMaxPermSize
	指对非堆区分配内存的最大上限。(非堆区配置)
	/**限制永久代的大小,即可简介限制其中常量池的容量。(前提是,JDK6之前,常量池在永久代中)*/
-XXPermSize
	指非堆区初始化内存分配大小。(非堆区配置)

云空间

-XX:MaxMetaspaceSize
	设置元空间最大值,默认是-1,即不限制,或者说只受限于本地内存大小。

-XX:MatespaceSize
	指定元空间的初始空间大小,以字节为单位

-XX:MinMetaspaceFreeRatio
	在垃圾手机之后控制最小的原空间剩余容量的百分比,可减少因为元空间不足导致垃圾收集的频率

-XX:Max-MatespaceFreeRatio
	用于控制最大的元空间收于容量的百分比

本机直接内存

-XXMaxDirectMemorySize
	直接内存的容量大小
		不指定默认于Java堆最大值(-Xmx一致)

在这里插入图片描述

JVM中MMO异常分析

常见的两种异常 内存泄漏(Memory Leak)和内存溢出(Memory Overflow)
在这里插入图片描述

本文主要是根据书中第二章中,根据不同的内存区域,做的一些针对性配置参数的介绍,以及常见的两种异常介绍。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值