JAVA最多支持多少个线程
2015-07-24 16:05
525 查看
1. java的线程开启,默认的虚拟机会分配1M的内存,但是在4G的windows上线程最多也就开到300多 ,是因为windows本身的一些限制导致。
2. 虚拟机给每个线程分配的内存(栈空间)是由虚拟机参数-Xss来指定的,在不同平台上对应的默认大小可以 在oracle的官方文档上查询到:
http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman /optionX.html
其中,Linux64位默认Xss值为256K,并非1M或10M
3. 一个Java进程可以启动的线程数可以通过如下公式计算:
(系统剩余内存 - 最大堆容量Xmx - 最大方法区容量MaxPermSize)/ 最大栈空间Xss
这样,4G的服务器单个进程可以开多少线程,可以粗略计算出来,大概是5000个线程。
2. 虚拟机给每个线程分配的内存(栈空间)是由虚拟机参数-Xss来指定的,在不同平台上对应的默认大小可以 在oracle的官方文档上查询到:
http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman /optionX.html
其中,Linux64位默认Xss值为256K,并非1M或10M
3. 一个Java进程可以启动的线程数可以通过如下公式计算:
(系统剩余内存 - 最大堆容量Xmx - 最大方法区容量MaxPermSize)/ 最大栈空间Xss
这样,4G的服务器单个进程可以开多少线程,可以粗略计算出来,大概是5000个线程。
相关文章推荐
- Java线程中断的本质深入理解
- 图解Java线程的生命周期
- Java线程优先级示例代码
- Java编码问题汇总
- java线程安全总结
- 线程处理的基本问题
- BlockingQueue和DelayQueue学习
- 多线程2
- Java 线程问题
- Java四种线程池的使用
- Java线程池使用说明
- 黑马程序员--javaSE--ThreadLocal实现线程范围的共享变量
- 通过JDK源码解析Thread(Runable target ...)调用的是哪个run方法
- JavaAWT简单Socket多人聊天程序(简单明了)
- Java线程与多线程教程
- JAVA多线程
- java线程面试题--精华
- java学习之线程
- java线程中信号量Semaphore类的应用
- java线程中锁存器CountDownLatch的使用