限制该值的因素:

线程堆栈大小——》进程的最大内存——》操作系统位数

linux线程

查看默认的线程栈大小

ulimit -a

调整栈大小

ulimit -s

是否存在硬限制, /proc/sys/kernel/threads-max是否为硬限制?

cat  /proc/sys/kernel/threads-max

echo   12000   >  /proc/sys/kernel/thread_max

JVM线程

JVM线程堆栈

应用程序中的每个线程都需要内存来存储堆栈(用于在调用函数时持有局部变量并维护状态的内存区域)。每个 Java 线程都需要堆栈空间来运行。

根据实现的不同,Java 线程可以分为本机线程和 Java 堆栈。除了堆栈空间,每个线程还需要为线程本地存储(thread-local storage)和内部数据结构提供一些本机内存。

JVM堆栈大小

-Xss128k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。根据应用的线程所需内存大小进行调整。

在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一 个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。

JVM heap与JVM私有内存、JVM线程堆栈大小间的关系及平衡。

线程栈的大小是个双刃剑,如果设置过小,可能会出现栈溢出,特别是在该线程内有递归、大的循环时

时出现溢出的可能性更大,如果该值设置过大,就又影响到创建栈的数量,如果是多线程的应用,就会

出现内存溢出的错误.

JVM可创建的最大线程数相关推荐

  1. 单个JVM下支撑100w线程数vm.max_map_count

    I.环境要求: 1.64bit Linux 2.64bit JDK 3.Memory够大,512GB 4.cpu:64 processors II.测试工具:[DieLikeADog.java] ja ...

  2. 线程最大线程数什么时候会被创建

    线程最大线程数什么时候会被创建 前言 之前一直错误的以为线程池在执行过程中会先判断核心数然后在判断最大线程数最后才加入队列...完全错误! 已经下已代码展示最大线程数量在什么时候才会被创建 1.首先创 ...

  3. 如何查询一个进程下面的线程数(进程和线程区别)

    在平时工作中,经常会听到应用程序的进程和线程的概念,那么它们两个之间究竟有什么关系或不同呢? 一.对比进程和线程 1)两者概念 -  进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程 ...

  4. java 最大线程数_JVM可生产的最大线程数 Thread 数量

    这几天因为自己开发的一个网站在768M内存的机器上撑不起100多个用户的运行,因为每个用户启用功能后,系统将为每个用户分配8个左右的独立线程,我的这篇文章http://www.mzone.cc/art ...

  5. java 进程 线程数量_如何查询一个进程下面的线程数(进程和线程区别)

    在平时工作中,经常会听到应用程序的进程和线程的概念,那么它们两个之间究竟有什么关系或不同呢? 一.对比进程和线程 1)两者概念 -  进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程 ...

  6. Mysql查看状态,连接数,线程数以及Mysql性能监控工具doDBA的使用以及优化

    解决问题: 怎样查看Mysql最大连接数(max_connections)?怎样修改max_connections? 怎样查看Mysql线程缓存池数量(thread_cache_size)?threa ...

  7. mysql 线程_MySQL服务器线程数的查看方法详解

    本文实例讲述了MySQL服务器线程数的查看方法.分享给大家供大家参考,具体如下: mysql重启命令: /etc/init.d/mysql restart MySQL服务器的线程数需要在一个合理的范围 ...

  8. mysql服务器的线程数查看方法_MySQL服务器线程数的查看方法详解

    本文实例讲述了MySQL服务器线程数的查看方法.,具体如下: mysql重启命令: /etc/init.d/mysql restart MySQL服务器的线程数需要在一个合理的范围之内,这样才能保证M ...

  9. Linux 中统计一个进程的线程数

    如果你想看到 Linux 中每个进程的线程数,有以下几种方法可以做到这一点. 方法一: /proc proc 伪文件系统,它驻留在 /proc 目录,这是最简单的方法来查看任何活动进程的线程数. /p ...

最新文章

  1. 潜艇将来会无人驾驶吗?
  2. 数据结构 - 单链表(百度面试题单链表的倒序打印)
  3. 用python实现yale人脸数据集降维_用Python实现磁盘IO操作全攻略,让数据流动起来!...
  4. [转载] 七龙珠第一部——第072话 恶魔的厕所
  5. JavaScript MVC 框架开源软件
  6. 全网最全的 JavaScript 数组各个方法用途的思维导图
  7. PHP发卡自动源码,PHP自动化售货发卡网源码
  8. 北京市计算机自考,【北京自考计算机上机考今起举行】- 环球网校
  9. erstudio安装
  10. 解决安装office2007的各种工具时提示“安装程序找不到office.zh-cn/*”的问题
  11. 本科生如何快速发表期刊论文,如何选择普刊?
  12. 小记(1)偷影子的人
  13. Bootstrap自定义图标
  14. AttributeError: module ‘win32com.gen_py.00020905-0000-4B30-A977-D214852036FF
  15. 静态数组,全局数组,局部数组的初始化区别
  16. 历年CSP-J(NOIP普及组)分类汇总目录
  17. B站【1espresso】NLP - transform、bert、HMM、NER课件
  18. 软件测试需求文档案例,软件测试如何进行测试需求分析?
  19. Unity XR初始化设置
  20. 计算字符串中个某字符的数量

热门文章

  1. leetcode 寻找重复的数633 python
  2. wxWidgets:wxColourPickerEvent类用法
  3. boost::statechart模块实现状态迭代测试
  4. boost::remove_copy_if相关的测试程序
  5. boost::phoenix::for_each相关的测试程序
  6. boost::mpl::aux::template_arity相关用法的测试程序
  7. boost::mp11::mp_iota相关用法的测试程序
  8. boost::math模块计算 Bessel 和 Neumann 函数的零点的测试程序
  9. boost::geometry::srs::spar用法的测试程序
  10. boost::fusion::count_if的用法测试程序