3.堆空间大小设置

  • java堆用于存储java对象实例,jvm启动时堆的大小就已设定好了

-Xms(memery start)表示设置堆的启始内存
-Xmx(mermery max)标识设置最大内存

image.png

如果堆中的内存超过最大内存,将会抛出OutOfMemoryError(OOM)

  • 通常会将-Xms和-Xmx两个参数配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要计算堆区大小,从而提高性能
  • 默认情况下:初始内存为 物理电脑内存/64,最大内存为物理电脑内存/4
查看java程序内存分配
  1. 方式一(设置启动参数)


    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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容