我将jvm的xmx设置为等于4 G,但是运行一段时间后,当我使用top来查看内存时,它显示进程使用了​​12 G内存.

那么,xmx到底是什么意思呢?如果要将jvm内存限制为4 G,该怎么办?

命令行:-server -Xms4g -Xmx4g

和另一个相关的问题:)


如果发生gc,JVM是否会不可避免地释放年轻一代不再使用的对象的空间?还是其中一些留给下一个gc?

谢谢

解决方法:

JVM的-Xmx选项指定Java的最大大小
垃圾收集堆.它不限制JVM使用的内存大小. ps或top报告的进程大小将
包括该信息,以及该进程使用的任何其他内存.下列
是不属于垃圾收集堆的事物的示例
并且仍然是该过程所需的内存的一部分:

实现JVM的代码
用于实现JVM的数据结构的C手册堆
堆叠系统中所有线程(应用JVM)
缓存的Java字节码(用于库和应用程序)
JIT机器码(用于库和应用程序)
所有已加载类的静态变量

标签: java, memory, jvm

相关文章推荐

添加新评论,含*的栏目为必填