首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java JVM参数Xms不会立即生效

Java JVM参数Xms不会立即生效
EN

Stack Overflow用户
提问于 2016-12-19 05:43:17
回答 1查看 716关注 0票数 0

我通过tomcat运行了我的Java,并设置了-Xms1024m,但是在启动应用程序后仅200~300米,我就发现了Java堆的大小,我认为Xms意味着最小堆大小,为什么应用程序启动后不能立即达到最小堆大小1024 m

编辑,BTW,JVM是热点7.0。

看来GC是在\openjdk-7-fcs-src-b147-27_jun_2011\openjdk\hotspot\src\share\vm\gc_implementation\g1\heapRegion.cpp文件的方法HeapRegion::setup_heap_region_size(uintx min_heap_size)和文件\openjdk-7-fcs-src-b147- 27_jun_2011\openjdk\hotspot\src\share\vm\runtime\arguments.cpp的方法parse_each_vm_init_arg中实现的,熟悉JVM GC源代码的人可以帮助对其进行一些分析。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-19 12:23:10

它只显示了你所使用的空间。堆大小决定每个区域的容量。注:实际可用的大小较小,因为您有两个幸存者空间,只有一个是活跃的正常运作。例如,假设您有一个50 MB的幸存者空间,一个1GB的堆将说只有950 MB可用。

当您设置最小堆大小时,这并不意味着空间已经被使用。但是,在达到此堆大小(或当堆的一部分已满时),您可能无法获得GC。

假设您有一个1GB的堆,伊甸园的空间是100 MB。你将得到一个GC一旦伊甸园填补,即使很少使用终身空间。最终,伊甸园增长,永久空间开始填满,一旦它满了,它可能会把堆的大小扩大到大于你给它的最小堆大小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41216388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档