- java堆用于存储java对象实例,jvm启动时堆的大小就已设定好了
-Xms(memery start)表示设置堆的启始内存
-Xmx(mermery max)标识设置最大内存

image.png
如果堆中的内存超过最大内存,将会抛出OutOfMemoryError(OOM)
- 通常会将-Xms和-Xmx两个参数配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要计算堆区大小,从而提高性能
- 默认情况下:初始内存为 物理电脑内存/64,最大内存为物理电脑内存/4
查看java程序内存分配
-
方式一(设置启动参数)
image.png
Heap
PSYoungGen total 2560K, used 1732K [0x00000000ffd00000, 0x0000000100000000, 0x0000000100000000)
eden space 2048K, 84% used [0x00000000ffd00000,0x00000000ffeb1130,0x00000000fff00000)
from space 512K, 0% used [0x00000000fff80000,0x00000000fff80000,0x0000000100000000)
to space 512K, 0% used [0x00000000fff00000,0x00000000fff00000,0x00000000fff80000)
ParOldGen total 7168K, used 0K [0x00000000ff600000, 0x00000000ffd00000, 0x00000000ffd00000)
object space 7168K, 0% used [0x00000000ff600000,0x00000000ff600000,0x00000000ffd00000)
Metaspace used 3221K, capacity 4496K, committed 4864K, reserved 1056768K
class space used 350K, capacity 388K, committed 512K, reserved 1048576K
Process finished with exit code 0
2.方式二(使用cmd命令行工具)
-jps
14320
3408 P4
10872 Launcher
5064 Jps
15804 KotlinCompileDaemon
jstat -gc 3408
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
512.0 512.0 0.0 488.0 2048.0 555.8 7168.0 420.0 4864.0 3438.6 512.0 374.2 1 0.001 0 0.000 0.001
