首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果使用Xms5120m,jvm会分配5G RAm吗?

问如果使用Xms5120m,jvm会分配5G RAm吗?
EN

Stack Overflow用户
提问于 2012-04-27 07:31:05
回答 2查看 1.3K关注 0票数 1

我们有一个java进程,它有这样的启动参数:-Xms5120m -Xmx5120M

jvm会在启动时分配5G内存吗?

与-Xms1024m -Xmx5120M相比,这是一种很好的做法吗?

更新

即使我设置了Xms5120M,它似乎也会被忽略。当进程开始时,任务管理器显示它只使用了大约2G的RAM。为什么会这样呢?

EN

回答 2

Stack Overflow用户

发布于 2014-01-19 23:21:53

java只会在此时分配所需的资源。当你告诉它你想要-Xmx5G时,这是在告诉计算机最大值。而xms是最小的系统内存。如果初始内存堆没有超过5G,而是使用2G,任务管理器只是简单地告诉您2G的内存正在使用中,但不会显示您的分配情况。这表明您的内存堆没有消耗全部5G的已分配内存。

票数 0
EN

Stack Overflow用户

发布于 2017-04-16 15:42:59

如果您确实希望立即初始化初始堆内存,您可能可以尝试-XX:+AlwaysPreTouch JVM选项:

在

初始化期间,JVM预先接触Java heap。因此,堆的每一页在初始化期间都被要求清零,而不是在应用程序执行期间递增地清零。

http://www.oracle.com/technetwork/articles/java/vmoptions-jsp-140102.html

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

https://stackoverflow.com/questions/10342841

复制
相关文章

相似问题

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