登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

kangzye的博客

加Q群25382780切磋java,加19360923群研究JavaScript

 
 
 

日志

 
 

jvm 启动参数设置  

2011-04-10 19:30:53|  分类: jvm |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

jvm 启动参数设置
-Xmx2000m 设置 heap(堆) 大小最大为不能超过 2000m
-Xms2000m 设置 heap 启动时占用内存大小2000m,一般设置 Xmx 和 Xms 相等,以减小重新分配内存的操作消耗CPU时间
-Xmn800m  设置heap 中新生代(所有对象出生的地方)的大小,sun建议其大小为整个heap 的3/8
-Xss256k  设置每个线程的栈的大小256kB。这个参数也和 Xms 一样,是实打实的占用内存,别人不能占它一丁点。在有限的内存下,减小这个值,可建立更多的线程。但系统对每个进程所能新建的线程数是有限制的,据说大概在3000~5000 个线程的样子。另外必须要注意的是,线程所使用的栈的内存不是heap 的一部分,其是heap 之外的。
-XX:PermSize=20m 设置Perm Generation(永生代)内存初始值大小20m。
-XX:MaxPermSize=60m 设置Perm Generation(永生代)最大值为60m,平常程序报错: OutOfMemory:PermGen Space,就是方法区不够用了,有时候虽然没有达到最大限制,但可能系统内存已经不够用了,无法再给方法区域扩展内存的情况也会报这样的错误。
通常我们说的JVM内 存回收总是在指堆内存回收,确实只有堆中的内容是动态申请分配的,所以以上对象的年轻代和年老代都是指的JVM的Heap空间,而持久代则是之前提到的 Method Area,不属于Heap。
  评论这张
 
阅读(1905)| 评论(1)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018