java Runtime中maxMemory,totalMemory, freeMemory的含义

maxMemory是指当前虚拟机最大可以使用的内存,对于jvm配置的xmx参数

totalMemory指的是当前虚拟机运行时所使用的内存,如果在虚拟机启动时,配置了xms参数,那么当前虚拟机初始使用的内存为配置的数值,之后会随着项目运行而增加,最大可以增加至maxMemory

freeMemory是指当前虚拟机已经申请到但是没有在使用的内存,产生没有使用的内存的情况有两种:

1、配置了xms参数,比如配置了1G的xms,那边jvm启动时,就已经申请了1G的内存,而程序运行如果只用了0.5G内存,那么freeMemory就是1-0.5=0.5G

2、程序运行时,会随着需要逐步从操作系统申请内存,并且申请的量会比需要的量多一些,因此会产生freeMemory,这个数值一般较小

原文地址:https://www.cnblogs.com/yytxdy/p/12367709.html