Java SE之调整JVM内存笔记

[文档整理系列]  Java SE之调整JVM内存笔记

一般JVM内存限制是64Mbyte

Eclipse下 Run as configration
Arguments选项:-Xmx80m 【设置虚拟机JVM最大开辟内存为80Mbyte】


===================================================
一. 设置JVM内存的参数有四个:

  -Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;

  -Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;

  -Xmn Java Heap Young区大小,不熟悉最好保留默认值;

  -Xss 每个线程的Stack大小,不熟悉最好保留默认值;


二、查看设置JVM内存信息
  官方文档:http://docs.sun.com/source/819-0084/pt_tuningjava.html

  Runtime.getRuntime().maxMemory(); //最大可用内存,对应-Xmx

  Runtime.getRuntime().freeMemory(); //当前JVM空闲内存

  Runtime.getRuntime().totalMemory(); //当前JVM占用的内存总数,其值相当于当前JVM已使用的内存及freeMemory()的总和

  关于maxMemory(),freeMemory()和totalMemory():

  maxMemory()为JVM的最大可用内存,可通过-Xmx设置,默认值为物理内存的1/4,设值不能高于计算机物理内存;

  totalMemory()为当前JVM占用的内存总数,其值相当于当前JVM已使用的内存及freeMemory()的总和,会随着JVM使用内存的增加而增加;

  freeMemory()为当前JVM空闲内存,因为JVM只有在需要内存时才占用物理内存使用,所以freeMemory()的值一般情况下都很小,而 JVM实际可用内存并不等于freeMemory(),而应该等于maxMemory()-totalMemory()+freeMemory()。及其 设置JVM内存分配。

猜你喜欢

转载自www.cnblogs.com/johnnyzen/p/9277864.html