[关闭]
@yulongsun 2018-06-05T16:37:04.000000Z 字数 747 阅读 738

JVM - 问题调试方法

面试宝典


命令

默认值

  1. 新生代:老年代= 1:2 //即新生代占1/3,老年代占2/3
  2. Edem:from:to= 8:1:1 //因为新生代中有一块Survivor始终是空闲的,所以新生代实际可用空间为9/10

参数参数

  1. -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=../logs

日志分析

image_1cep17d7c1c2c13o31f1nlr8cjom.png-17.1kB

image_1cep18c219n1h151b58174j1ron13.png-15.6kB

问题记录

1. java.lang.OutOfMemoryError: PermGen space

image_1cep07dtngbir0vajob914bq9.png-132.7kB

频繁full gc
频繁full gc,然而堆大小并没有什么变化。
永久代大小变化
full gc前后永久代大小并没有变化。
其实,永久代的GC也属于FULL GC.

2. java.lang.OutOfMemoryError: unable to create new native thread

image_1cep2lkc5efebtbjbaj59eva9.png-59.7kB

image_1cep2s6ue1e401id41td71dd8121im.png-188.6kB

工具

  1. 一个在线的JVM日志分析网站 http://gceasy.io/
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注