JVM最大可支持线程数计算方法
2016-09-15 23:28
162 查看
转自:http://blog.csdn.net/freebird_lb/article/details/8196743
JVM最大创建线程数量由JVM堆内存大小、线程的Stack内存大小、系统最大可创建线程数(Java线程的实现是基于底层系统的线程机制来实现的,Windows下_beginthreadex,Linux下pthread_create)三个方面影响。具体如下:
-Xms 最小堆内存
-Xmx 最大堆内存
-Xss 设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M
操作系统限制 系统最大可开线程数,主要受以下几个参数影响
/proc/sys/kernel/pid_max
/proc/sys/kernel/thread-max
max_user_process(ulimit -u)
/proc/sys/vm/max_map_count
操作系统最大线程数限制
32位Linux系统可创建的最大pid数是32678,这个数值可以通过/proc/sys/kernel/pid_max来做修改(修改其值为10000:echo 10000 > /proc/sys/kernel/pid_max),但是在32系统下这个值只能改小,无法改大。
Windows可创建的线程数量比linux可能更少。
在64位Linux系统(CentOS 6)下,还有一个参数会限制线程数量:max user process(可通过ulimit –a查看,默认值1024,通过ulimit –u可以修改此值)
JVM最大创建线程数量由JVM堆内存大小、线程的Stack内存大小、系统最大可创建线程数(Java线程的实现是基于底层系统的线程机制来实现的,Windows下_beginthreadex,Linux下pthread_create)三个方面影响。具体如下:
-Xms 最小堆内存
-Xmx 最大堆内存
-Xss 设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M
操作系统限制 系统最大可开线程数,主要受以下几个参数影响
/proc/sys/kernel/pid_max
/proc/sys/kernel/thread-max
max_user_process(ulimit -u)
/proc/sys/vm/max_map_count
操作系统最大线程数限制
32位Linux系统可创建的最大pid数是32678,这个数值可以通过/proc/sys/kernel/pid_max来做修改(修改其值为10000:echo 10000 > /proc/sys/kernel/pid_max),但是在32系统下这个值只能改小,无法改大。
Windows可创建的线程数量比linux可能更少。
在64位Linux系统(CentOS 6)下,还有一个参数会限制线程数量:max user process(可通过ulimit –a查看,默认值1024,通过ulimit –u可以修改此值)
相关文章推荐
- JVM最大可支持线程数计算方法
- JVM最大可支持线程数计算方法
- JVM最大线程数计算方法
- JVM最大线程数计算方法
- JVM可支持的最大线程数
- JVM可支持的最大线程数
- JVM可支持的最大线程数(转)
- jvm 内存分配的方法和支持的最大内存
- JVM可支持的最大线程数
- jvm支持最大线程数简单测试
- JVM可支持的最大线程数(转)
- cpu的核心数、线程数、处理器的位数、操作系统的位数、能够支持最大内存 小结
- Tomcat 6.0.32中调整JVM大小及最大线程数
- IPMSM的FOC驱动最大转矩电流比推导计算方法
- 让IE6支持最小高度min-height、最大高度max-height的方法
- 查看主板支持最大内存的方法
- 使用计算总内存大小的方法确定jvm中为对象分配的存储空间大小
- 如何查看linux当前支持的最大tcp连接数,如何查看一个进程的线程数
- 多核心处理器知识与最大加速比计算方法-多处理器编译
- 一个进程中线程的最大个数计算方法