java 虚拟机的内存限制
来源:互联网 发布:佳能mp288清零软件 编辑:程序博客网 时间:2024/05/18 15:23
Linux系统中JVM内存2GB的限制
有些用户反映在Linux系统中运行的Java应用,内存只能使用到2GB,在Java虚拟机中如果把-Xmx参数设置到2GB左右(约1.5-1.8GB),java进程就根本启动不了。我们通常使用的JVM都是32位的(64位的JVM会损失10-20%的性能,通常不建议使用),而32位程序的寻址空间应该是4GB才对,为什么Linux上的JVM只能使用2GB的内存呢?
经过和JDK研发组的人员沟通,终于弄清楚了一些相关的原因。这个问题存在于早期的一些Linux版本中,特别是内核2.5以前的版本,2.6以后的版本就基本上没有这个问题了。原来这些Linux版本对进程有个对内存2GB的限制,是一个地址连续的内存块大小的上限,而JVM的堆空间(heap size)需要连续的地址空间,因此,2GB就是java进程的理论使用的内存上限。
如果java应用需要使用较大的内存,建议使用较新版本的linux,或者修改Linux的应用/内核内存比配置为3GB:1GB。还有就是选择如Solaris等的UNIX操作系统。象Solaris这样的操作系统,在内存管理上没有2GB的限制,因此可以把heap size设置到3.5-3.6GB左右
测试方法:在命令行下用 java -XmxXXXXM -version 命令来进行测试,然后逐渐的增大XXXX的值,如果执行正常就表示指定的内存大小可用,否则会打印错误信息。
这回终于明白为什么要用分布式缓存了 呵呵
- java 虚拟机的内存限制
- Java虚拟机支持的最大内存限制
- Java虚拟机支持的最大内存限制
- Java虚拟机支持的最大内存限制
- java虚拟机内存限制PermSize,MaxPermSize,Xmx,Xms
- java虚拟机内存限制PermSize,MaxPermSize,Xmx,Xms
- java虚拟机规范---java虚拟机对class文件的限制
- Java 虚拟机限制
- java虚拟机的内存配置
- Java虚拟机的内存分配
- JAVA虚拟机的最大内存
- java虚拟机的内存配置
- Java 虚拟机的内存分布
- java 虚拟机的内存分布
- Java 虚拟机的内存分布
- java虚拟机内存的简介
- java虚拟机的内存问题
- java虚拟机管理的内存
- MVC3集成Unity 2.0
- [Sybase] Foreigh Key/Index column
- 哪些虚拟机支持Windows 8?微软为你总结
- How to resolve '_DllMain@12 already defined in xxx.obj' ?
- GRE词汇竟然六小时背一遍
- java 虚拟机的内存限制
- Android学习笔记(二四): 多页显示-SlidingDrawer的使用
- 创新工场笔试题整理
- Java调用MySQL存储过程报错
- SED 命令手册
- maven的pom中修改primefaces的theme的问题
- VBR和CBR区别
- “史上最强的vimrc”转载记录下
- T-SQL Tips 2