java查看jvm内存
public static void main(String[] args) {long maxMemory = Runtime.getRuntime().maxMemory();//java虚拟机使用的最大内存量long totalMemory = Runtime.getRuntime().totalMemory();//java虚拟机内存总量...
·
jvm参数:年轻代
-Xms:设置初始化内存,默认为物理内存的“ 1/64 ”
-Xmx:设置最大内存,默认为物理内存的“ 1/4 ”
-Xmn:设置新生代(年轻代)的内存大小。
-XX:+PrintGCDetails:输出详细的GC处理日志
-XX:MaxTenuringThreshold:设置的年龄(新生代对象存活的次数)默认的年龄为15,达到15就将新生代对象晋升为养老代
代码
public static void main(String[] args) {
long maxMemory = Runtime.getRuntime().maxMemory();//java虚拟机使用的最大内存量
long totalMemory = Runtime.getRuntime().totalMemory();//java虚拟机内存总量
System.out.println("MAX_MEMORY = " + maxMemory + "(字节)、" + (maxMemory / (double) 1024 / 1024) + "MB");
System.out.println("TOTAL_MEMORY = " + totalMemory + "(字节)、" + (totalMemory / (double) 1024 / 1024) + "MB");
}
当然jvm使用的最大内存
是跟你自己电脑的物理内存
有关,比如我电脑内存为8G
,那么jvm最大的使用内存为8G
的1/4
约等于1797MB
,jvm的内存为8G
的1/64
约等于123MB
这时候可能有人会说(8*1024)/4=2048呀,也不是1797呢? 这个也很好理解,举个例子:比如:500G的移动硬盘,插在电脑上也肯定不会有500G的,一般只有400多G,是有误差的,jvm同样也是。
更多推荐
已为社区贡献3条内容
所有评论(0)