JVM HEAP内存空间

JVM HEAP内存空间
	新生代
		新生区(Eden):初创对象
		存活区(Survivor):不如成熟期的初创对象
			to(ss1):
			from(ss2):
	老年代:
		mark --> compact  标记,打包,删除
	持久代:

	垃圾回收器
		新生代回收:
			Minor GC
		老年代回收:
			Major GC(full GC)

	堆内存空间的调整参数:
		-Xmx:新生代和老年代总共可用的最大空间
		-Xms:新生代和老年代初始空间
		-XX:NewSize 新生代的初始空间
		-XX:MaxNewSizeSize 新生代的最大空间

		-XX:MaxPermSize 持久代的最大空间
		-XX:PermSize 持久代初始空间

	对于Tomcat而言:
		catalina.sh中有两个环境变量
			CATALINA_OPTS:就对启动运行Tomcat实例的java虚拟机有效
			JAVA_OPTS:对本级的所有JAVA虚拟机有效

	性能监控工具:
		问题:
			可能导致的原因是
			1.内存不足	OutOfMemoryError
			2.也有可能是代码中内存泄露	
			3.线程死锁	
			4.锁竞争(Lock Contenttion)
			5.java消耗过多CPU
		jps (java virtual machine process status tool)
			监控jvm进程的状态信息
			位置:在java/bin目录下
			使用方法:
				1.查看进程jps
				2.查看详细的进程号 jps id

		jstack:查看某个java进程内的线程堆栈信息
			jstack pid
			jstack -l :输出完整的锁信息
			jstack -m :混合输出java堆栈和C/C++信息

		jmap和jhat:
			jmap:jvm memory map 查看堆内存的使用情况
				jmap id 查看某个id的内存详细使用状况
				jmap -heap id 查看堆内存的详细使用情况

			jhat:java heap analysis tools

		jstat:jvm统计监测工具
			jstat -gc 进程id 可以统计出详细的垃圾回收器的信息
			字段的含义:
			S0C,S1C,S0U,S1U:C标识容量,U标识已用量
			EC,EU,eden区域的容量和已用量
			OC,OU 老年代大小 老年代使用大小
			PC,PU
			YGC,YGT:新生代GC和耗时
			FGC,FGCT:FULL GC的次数和耗时
			GCT:GC总耗时
		两个GUI(可视化)工具,jconsole,jvisualvm

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值