码迷,mamicode.com
首页 > 其他好文 > 详细

JVM知识

时间:2017-03-16 16:27:47      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:tail   开发人员   最大值   rms   str   32位   windows   空间   detail   

堆(Heap)和非堆(Non-heap)内存 

简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的。

堆内存分配 
    JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指 定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。 
非堆内存分配 
    JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。 
JVM内存限制(最大值) 
    首先JVM内存限制于实际的最大物理内存(废话!呵呵),假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然 可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统 下为2G-3G),而64bit以上的处理器就不会有限制了。

来自:http://blog.csdn.net/softwave/article/details/6238747

JVM知识

标签:tail   开发人员   最大值   rms   str   32位   windows   空间   detail   

原文地址:http://www.cnblogs.com/angelshelter/p/6559899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!