当前位置: 首页 > 知识库问答 >
问题:

如何在Windows中识别默认Java堆大小

江佐
2023-03-14

我正在我的机器上运行一个eclipse应用程序。我有两个问题

  1. 我想知道如何检查jvm用于运行应用程序的默认堆大小。我正在使用windows机器运行java应用程序。我试图通过以下方式检查默认堆大小

控制面板---

但在我的系统中,没有定义运行时参数。是否有一个命令可以通过命令提示符执行,以检查机器中的默认堆大小。

如何增加heap size参数并从命令提示符运行eclipse插件应用程序。例如:为了增加堆大小并执行jar文件,我们使用下面的命令java-Xms64m-jarmyapp.jar。我想知道如何设置堆参数并执行我的java应用程序,它是一个exe文件。我试图使用下面的命令执行,但命令提示符无法识别该命令

java-Xms512m iepsd.exe

其中iepsd.exe是我的java应用程序。

共有3个答案

龚鸿雪
2023-03-14

要回答以下关于vr3w3c9

vr3w3c9提出的查询:您好,感谢您的回复。我试图在命令提示符下执行上面的命令javaw-XX:PrintFlagsFinal | find“InitialHeapSize”,但没有显示该值。我收到一条弹出消息,上面写着:

无法创建java虚拟机–vr3w3c9 2013年9月27日4:54

答:在Windows计算机中,请以管理员身份运行/打开命令提示符(Windows命令处理器),并执行您提到的命令。您将得到如下所示的结果:

C:\windows\system32>javaw -XX:+PrintFlagsFinal | find "MaxHeapSize"

uintx MaxHeapSize                              := 2122317824      {product}

C:\windows\system32>javaw -XX:+PrintFlagsFinal | find "InitialHeapSize"

uintx InitialHeapSize                          := 132531136       {product}

这里,MaxHeapSize和InitialHeapSize的单位是字节

朱昊乾
2023-03-14

请尝试下面的命令以获得详细结果

java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"

结果是

C:\Users\amar.magar>java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
 intx CompilerThreadStackSize                   = 0                                   {pd product}
uintx ErgoHeapSizeLimit                         = 0                                   {product}
uintx HeapSizePerGCThread                       = 87241520                            {product}
uintx InitialHeapSize                          := 268435456                           {product}
uintx LargePageHeapSizeThreshold                = 134217728                           {product}
uintx MaxHeapSize                              := 4271898624                          {product}
 intx ThreadStackSize                           = 0                                   {pd product}
 intx VMThreadStackSize                         = 0                                   {pd product}

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
裴甫
2023-03-14

处理完所有命令行参数和默认值后,可以使用-XX:PrintFlagsFinal向JVM打印大量内部选项列表。-Xms选项对应于InitialHeapSize,-Xmx选项对应于MaxHeapSize。

要查找JVM在Windows上使用的默认最大堆大小,请运行:

javaw -XX:+PrintFlagsFinal | find "MaxHeapSize"

若要查找默认的初始堆大小,请运行:

javaw -XX:+PrintFlagsFinal | find "InitialHeapSize"
 类似资料:
  • 问题内容: 如果我从Java命令行中省略了该选项,那么将使用默认值。根据Java文档 “根据系统配置在运行时选择默认值” 哪些系统配置设置会影响默认值? 问题答案: 在Windows上,你可以使用以下命令查找运行应用程序的系统上的默认设置。 堆大小 寻找的选项(对),并为。 在系统上,你可以 我相信结果输出以字节为单位。

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

  • 考虑使用默认参数值的Python中的以下类方法定义: 然后,用户可以在没有参数的情况下调用它,就像 结果:参数值被默认值替换。 想象一下,在这种情况下,你想告诉用户这样的事情: 问题:有没有办法回溯以某种方式拦截以识别它(除了简单地将此初始化和验证逻辑移动到构造函数方法之外)?

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

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

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