分配给jvm进程的总内存等于总堆,堆栈,本地堆。我知道有一些命令用于设置堆的最小和最大大小限制。为jvm进程分配了多少内存
如何分配给jvm进程的内存总量是有限制还是随着创建的线程数量的增加而不断增加。
如果线程数没有限制,并且在创建新线程时创建了新堆栈,这是否会导致jvm继续增大大小,直到RAM中没有剩余内存为止?
分配给jvm进程的总内存等于总堆,堆栈,本地堆。我知道有一些命令用于设置堆的最小和最大大小限制。为jvm进程分配了多少内存
如何分配给jvm进程的内存总量是有限制还是随着创建的线程数量的增加而不断增加。
如果线程数没有限制,并且在创建新线程时创建了新堆栈,这是否会导致jvm继续增大大小,直到RAM中没有剩余内存为止?
总堆。新线程使用堆内存。如果你的人数太多,你会OOME。尝试一下?
从我所知道的是如此。线程堆栈分配在JVM堆栈和操作系统特定的。
您可以使用-Xss来控制默认堆栈大小,但不能控制其上限。
有趣的文章
http://blog.codecentric.de/en/2010/01/the-java-memory-architecture-1-act/
http://book.javanb.com/java-threads-3rd/jthreads3-CHP-13-SECT-6.html
但新的线程也需要堆栈吗? – vjk 2013-04-09 18:28:52