当前位置: 首页 > 面试题库 >

jvm堆设置模式

晁国发
2023-03-14
问题内容

大家好,我观察到在设置堆大小时人们倾向于使用值64,128,256,1024。如果我在这些数字之间输入一个值(例如500),jvm是否会接受该值?为什么这些数字很重要且更受欢迎?为什么我们也以这种模式升级RAM。

请帮助我理解。

在此先感谢哈宾


问题答案:

JVM将接受任何值,这没有问题。使用2 ^ n值只是一个“惯例”,在实践中使用其他值不会有负面影响。



 类似资料:
  • 问题内容: 有没有办法从正在运行的Java程序中设置堆大小? 问题答案: 没有。 对于具有非常多的堆需求的应用程序,您可以做的是设置最大的堆大小-Xmx并进行调整,以使堆缩小时该应用程序不会挂在大量内存上(使用默认设置即可) )。 但是请注意,当应用程序实际使用的内存变化剧烈且快速时,这可能会导致性能问题-在这种情况下,最好将其挂在所有内存上,而不是仅将其退还给操作系统以声明使用它再过一秒钟。您可

  • 我在Windows Server R2 64位机器上安装了Apache Solr,具有8 GB的RAM。默认情况下,JVM似乎使用了大约256 MB的内存。由于我有一些相当大的文件用于索引,有时我会Java堆空间OutOfMemoryError。 我应该如何增加Solr可用的内存大小? 我在网上找到的大多数留档/帖子都指向像这样的东西,但是我没有通过命令行运行Solr。它是作为Windows服务运

  • 我一直在尝试将一个应用程序部署到Azure应用程序服务(免费层),由于内存限制,该应用程序不断被杀死,因为它使用了太多内存。当然,解决这一问题的最简单方法是在启动时在JVM上设置Xmx900m,但是我尝试的方法到目前为止都不起作用。 我所尝试的: 将Xmx900m添加到web。config(配置)httpPlatform标签,位于参数属性(开始处) 我可以在Azure App Service Ja

  • 我有一个Grails 2.3。X项目,除非使用命令行参数指定更多堆栈大小,否则无法编译。目前这很好,但每次我第一次构建项目时都需要导出/设置JVM选项。此外,刚开始项目的开发人员总是会遇到这个问题,所以我希望它成为签出版本控制的代码的一部分。 有没有办法在Grails 2.3中设置stacksize(-Xss)JVM选项。X BuildConfig? P、 Xss JVM选项是文档较少的选项之一。

  • 在阅读一些关于性能调优的说明时,我确实注意到了设置内存大小时的一个建议: Java应用程序应该将初始和最大永久生成大小调整为相同的值,因为增长或收缩永久生成空间需要完整的GC。在设置堆大小时给出了类似的建议,即-Xmx=-Xms。 我的问题是,那么为什么我们有-Xms设置呢? 此外,如果-Xmx和-Xms的值不同,而-Xmx和-Xms的大小相同,为什么GC会经常被触发。 为了补充我的第二个问题,如

  • 如何设置Apache Ignite通过运行时可用的最大堆内存?文件似乎没有涵盖这项非常基本的任务。此外,如何验证设置是否实际工作? 我读到命令行选项可用于将JVM参数从传递到JVM进程,但我无法找到它实际工作的证据。例如,如果我按如下方式启动Ignite: 它在命令行中不明确地列出了和。