2 回答
TA贡献1841条经验 获得超3个赞
Oracle 官方文档:
The maximum theoretical heap limit for the 32-bit JVM is 4G. Due to various additional constraints such as available swap, kernel address space usage, memory fragmentation, and VM overhead, in practice the limit can be much lower. On most modern 32-bit Windows systems the maximum heap size will range from 1.4G to 1.6G. On 32-bit Solaris kernels the address space is limited to 2G. On 64-bit operating systems running the 32-bit VM, the max heap size can be higher, approaching 4G on many Solaris systems.
帮你翻译一下吧:
理论上,32位的Java虚拟机的Heap(堆)的上限是4G,然而由于其他各种限制,比如可用的交换区,内核地址空间使用,内存碎片和VM overhead(JVM的开销?栈?)等,实际上这个上限可能远小于理论值。在大多数32位的Windows系统上,实际值从1.4G到1.6G不等。在32位的Solaris内核中,地址空间限定到2G。在64位操作系统上运行32位Java虚拟机,该值可能要高一些,比如在很多Solaris系统上就接近4G。
添加回答
举报