根据JVM的文档,如果使用太大的Xms参数,JVM将无法启动。所以,我问,如果我不使用它会发生什么?我的虚拟机是否允许无限增长?只有当物理内存用完时它才会停止吗?如果不使用Xmx会发生什么情况?
4
A
回答
4
XMX是最大堆大小。
如果我不使用它会怎么样?
如果省略,则使用默认值。默认值因JVM版本以及运行的平台而异。版本5 are here的详细信息。
默认情况下,在服务器级机器上选择以下项。
...的物理内存高达四分之一
最大堆大小1GB的
3
如果不指定-Xmx
,那么你将得到默认的配置为您的操作系统,你的JVM,它的选项和版本。
鉴于可能会影响文档的价值和时间的数量,可能会更容易问您的jvm。
例如我的Linux系统上:
$ java -XX:+PrintFlagsFinal -version 2>&1 | grep -i -E 'heapsize|permsize|version'
uintx AdaptivePermSizeWeight = 20 {product}
uintx ErgoHeapSizeLimit = 0 {product}
uintx InitialHeapSize := 66328448 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 1063256064 {product}
uintx MaxPermSize = 67108864 {pd product}
uintx PermSize = 16777216 {pd product}
java version "1.6.0_24"
因为它默认为-server
,但-client
我得到:
$ java -client -XX:+PrintFlagsFinal -version 2>&1 | grep -i -E 'heapsize|permsize|version'
uintx AdaptivePermSizeWeight = 20 {product}
uintx ErgoHeapSizeLimit = 0 {product}
uintx InitialHeapSize := 16777216 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 268435456 {product}
uintx MaxPermSize = 67108864 {pd product}
uintx PermSize = 12582912 {pd product}
java version "1.6.0_24"
虽然我的Windows系统上,我得到:
C:\>java -XX:+PrintFlagsFinal -version 2>&1 | findstr /I "heapsize permsize version"
uintx AdaptivePermSizeWeight = 20 {product}
uintx ErgoHeapSizeLimit = 0 {product}
uintx InitialHeapSize := 16777216 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 268435456 {product}
uintx MaxPermSize = 67108864 {pd product}
uintx PermSize = 12582912 {pd product}
java version "1.6.0_21"
这是-client
设置,似乎没有-server
选项:
C:\>java -server -XX:+PrintFlagsFinal -version 2>&1 | findstr /I "heapsize permsize version"
C:\>java -server -XX:+PrintFlagsFinal -version
Error: no `server' JVM at `C:\jdk\jre\bin\server\jvm.dll'.
相关问题
- 1. minimax:如果min不起作用会发生什么情况
- 2. 如果我使用printf(“one \ 0two”),会发生什么情况;?
- 3. 如果浏览器不支持gzip,会发生什么情况?
- 4. 如果我不指定targetFramework =“4.0”,会发生什么情况?
- 5. 如果CFile :: Write引发异常会发生什么情况?
- 6. 如果我的IExceptionPublisher引发异常,会发生什么情况?
- 7. 如果finally块引发异常,会发生什么情况?
- 8. 如果我在GMP中不使用mpz_clear会发生什么情况?
- 9. 如果在SqlDataReader之前关闭SqlConnection,会发生什么情况?
- 10. TFS - 如果我删除工作区会发生什么情况?
- 11. 如果NSURLCache已满,会发生什么情况?
- 12. 如果未安装代码合同,会发生什么情况?
- 13. 如果打开失败会发生什么情况?
- 14. 如果php.ini丢失,会发生什么情况?
- 15. 如果超时,会发生什么情况?
- 16. 如果MySQL数据库未关闭,会发生什么情况?
- 17. 如果未捕获到异常,会发生什么情况?
- 18. 如果堆栈内存变满,会发生什么情况
- 19. 如果Web服务更改参数会发生什么情况?
- 20. 如果决策器未运行,会发生什么情况
- 21. 如果消息在MQ中回滚会发生什么情况?
- 22. 如果minSdkVersion低于targetSdkVersion,会发生什么情况?
- 23. 如果DTD链接无处可逃,会发生什么情况?
- 24. 如果您打破Lock()语句,会发生什么情况?
- 25. 发生病情时会发生什么情况?
- 26. 如果我在未使用的pthread_t上调用pthread_join()会发生什么情况?
- 27. log4net到SQLServer:如果数据库不可用,会发生什么情况?
- 28. 如果我为不存在的参数调用ParamByName,会发生什么情况?
- 29. 如果在rootfs上发生内存泄漏,会发生什么情况?
- 30. C#如果我使用priority = RealTime运行进程,GC会发生什么情况?