我正在我的机器上运行一个eclipse应用程序。我有两个问题
控制面板---
但在我的系统中,没有定义运行时参数。是否有一个命令可以通过命令提示符执行,以检查机器中的默认堆大小。
如何增加heap size参数并从命令提示符运行eclipse插件应用程序。例如:为了增加堆大小并执行jar文件,我们使用下面的命令java-Xms64m-jarmyapp.jar
。我想知道如何设置堆参数并执行我的java应用程序,它是一个exe
文件。我试图使用下面的命令执行,但命令提示符无法识别该命令
java-Xms512m iepsd.exe
其中iepsd.exe
是我的java应用程序。
要回答以下关于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的单位是字节。
请尝试下面的命令以获得详细结果
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)
处理完所有命令行参数和默认值后,可以使用-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文档中已引用。