jvm 启动参数设置
2011-04-10 19:30:53| 分类:
jvm
| 标签:
|举报
|字号大中小 订阅
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。
评论这张
转发至微博
转发至微博
评论