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

如何确定默认的Java堆大小?

孔正文
2023-03-14
问题内容

如果我-Xmxn从Java命令行中省略了该选项,那么将使用默认值。根据Java文档

“根据系统配置在运行时选择默认值”

哪些系统配置设置会影响默认值?


问题答案:

在Windows上,你可以使用以下命令查找运行应用程序的系统上的默认设置。

java -XX:+ PrintFlagsFinal -version | findstr堆大小

寻找的选项MaxHeapSize(对-Xmx),并InitialHeapSize-Xms

Unix / Linux系统上,你可以

java -XX:+ PrintFlagsFinal -version | grep HeapSize

我相信结果输出以字节为单位。



 类似资料:
  • 我正在我的机器上运行一个eclipse应用程序。我有两个问题 我想知道如何检查jvm用于运行应用程序的默认堆大小。我正在使用windows机器运行java应用程序。我试图通过以下方式检查默认堆大小 控制面板--- 但在我的系统中,没有定义运行时参数。是否有一个命令可以通过命令提示符执行,以检查机器中的默认堆大小。 如何增加heap size参数并从命令提示符运行eclipse插件应用程序。例如:为

  • 问题内容: 在oracle文档中,我发现: -Xmxsize以字节为单位指定内存分配池的最大大小(以字节为单位)…默认值是在运行时根据系统配置选择的。 这是什么 系统配置 是什么意思? 问题答案: 它取决于实现和版本,但通常取决于所使用的VM(例如,客户端或服务器,see 和参数)以及您的系统内存。 默认值通常是物理内存的1/4或1GB(以较小者为准)。 Java配置选项(命令行参数)也可以“外包

  • 问题内容: 如何确定Linux中程序的当前堆栈大小? 据说每个程序的堆栈大小在Linux中将是8 MB,但是当您使用cat / proc // mmap时,它将显示不同的大小。 另外,如何确定相关线程的堆栈大小?既然说线程有自己的私有堆栈? 问题答案: 如果仅需要当前的堆栈大小,则可以在main()的顶部声明一个变量,获取其地址,然后将其与在定义“当前”的位置声明的变量的地址进行比较。差异应为堆栈

  • 问题内容: Java SE 6中Sun的JVM的默认最大堆大小是多少(即等效于设置-Xmx)? 貌似对Java SE 5与服务器级计算机,它的 小于物理内存的1/4或1GB。 额外的问题:对于IBM的JVM,您可以提出要求 您可以类似地询问Sun的JVM吗? 编辑 : 我使用Runtime.getRuntime()。maxMemory来确认min(物理内存/ 4,1G),这在Sun文档中已引用。

  • 据此: 在系统中安装了Maven之后,下一步就是对其进行微调以获得最佳性能。默认情况下,最大堆分配为256-512 MB(-XMS256M到-XMX512M)。在构建大型复杂Java项目时,此默认限制不起作用,建议您至少拥有1024 MB的最大堆。 现在,我认为堆空间和permgen空间的max和min值是由JVM设置的。Maven只能通过我们设置的MAVEN_OPTS env变量来设置它们。那么

  • 问题内容: 由于以下原因,我知道如何设置堆栈大小: 如何在Node.js中增加最大调用堆栈大小 但是,默认大小是多少?(即,我如何获得的PHP等效项) 问题答案: 简单的答案是,默认堆栈大小为492 KB(32位)和984KB(64位)。 如soyuka所评论,请尝试以下操作: 要么