`

jvm 内存分配小记

    博客分类:
  • java
 
阅读更多
-Xms   为jvm启动时分配的内存,比如-Xms100m,表示分配100m
-Xmx   为jvm运行过程中分配的最大内存,比如-Xms200m,表示jvm进程最多只能够占用200m内存
-Xss   为jvm启动的每个线程分配的内存大小,JDK1.4默认256K,JDK1.5+默认1M
 
上面两个参数主要是来设置jvm的最小可用内存和最大可用内存,属于进程级别的内存控制。
在java中每个线程需要分配线程内存,用来存储自身的线程变量,我之前的理解一直是在java中new新线程的时候是直接使用jvm的内存,可实际情况却不是这样的。在java中每new一个线程,jvm都是向操作系统请求new一个本地线程,此时操作系统会使用剩余的内存空间来为线程分配内存,而不是使用jvm的内存。

 

这样,当操作系统的可用内存越少,则jvm可用创建的新线程也就越少.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics