bigint最大有多少位_一台 Java 服务器可以跑多少个线程?
一台Java服务器能跑多少个线程?这个问题来自一次线上报警如下图,超过了我们的配置阈值。
打出jstack文件,通过IBM Thread and Monitor Dump Analyzer for Java工具查看如下:
共计1661个线程,和监控数据得出的吻合。但这个数量应该是大了,我们都知道线程多了,就会有线程切换,带来性能开销。
当时就想到一台java服务器到底可以跑多少个线程呢?跟什么有关系?现整理如下。
每个线程都有一个线程栈空间通过-Xss设置,查了一下我们服务器的关于jvm内存的配置
-Xms4096m
-Xmx4096m
-XX:MaxPermSize=1024m
只有这三个,并没有-Xss 和-XX:ThreadStackSize的配置,因此是走的默认值。几种JVM的默认栈大小
可以通过如下命令打印输出默认值的大小,命令:jinfo -flag ThreadStackSize ;例如
[root@host-192-168-202-229 ~]#jinfo -flag ThreadStackSize 1807-XX:ThreadStackSize=1024
线程数量=(机器本身可用内存-JVM分配的堆内存)/Xss的值,比如我们的容器本身大小是8G,堆大小是4096M,走-Xss默认值,可以得出 最大线程数量:4096个。
根据计算公式,得出如下结论:
结论1:jvm堆越大,系统创建的线程数量越小。
结论2:当-Xss的值越小,可生成线程数量越多。
我们知道操作系统分配给每个进程的内存大小是有限制的,比如32位的Windows是2G。因此操作系统对一个进程下的线程数量是有限制的,不能无限的增多。经验值:3000-5000左右(我没有验证)。
刚才说的是不考虑系统限制的情况,那如果考虑系统限制呢,主要跟以下几个参数有关系
/proc/sys/kernel/pid_max 增大,线程数量增大,pid_max有最高值,超过之后不再改变,而且32,64位也不一样
/proc/sys/kernel/thread-max 系统可以生成最大线程数量
max_user_process(ulimit -u)centos系统上才有,没有具体研究
/proc/sys/vm/max_map_count 增大,数量增多
线程是非常宝贵的资源,我们要严格控制线程的数量,象上面我们的截图情况,显然线程数量过多。这个是跟我们自己配置了fixed大小的线程池有关系。京东有自己的rpc框架jsf,里面可以针对每个服务端口设置线程大小。
原作者:新栋BOOK
原文链接:一台java服务器可以跑多少个线程?
原出处:简书
bigint最大有多少位_一台 Java 服务器可以跑多少个线程?相关推荐
- 能跑java的服务器_一台java服务器可以跑多少个线程?
一台java服务器能跑多少个线程?这个问题来自一次线上报警如下图,超过了我们的配置阈值. 京东自研UMP监控分析 打出jstack文件,通过IBM Thread and Monitor Dump An ...
- java xss 默认值_一台 Java 服务器可以跑多少个线程?
原标题:一台 Java 服务器可以跑多少个线程? 转自:简书,作者:新栋BOOK 一台Java服务器能跑多少个线程?这个问题来自一次线上报警如下图,超过了我们的配置阈值. 京东自研UMP监控分析 打出 ...
- 一台 Java 服务器可以跑多少个线程?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 转自:简书,作者:新栋BOOK www.jianshu.com/p ...
- 线上经验总结:一台 Java 服务器可以跑多少个线程?
一台java服务器能跑多少个线程? 这个问题来自一次线上报警如下图,超过了我们的配置阈值. 京东自研UMP监控分析 打出jstack文件,通过IBM Thread and Monitor Dump A ...
- java线程服务器_一台Java服务器跑多少个线程
一台Java服务器能跑多少个线程?这个问题来自一次线上报警如下图,超过了我们的配置阈值. 图:京东自研UMP监控分析 打出jstack文件,通过IBM Thread and Monitor Dump ...
- bigint最大有多少位_《追光吧哥哥》21位艺人靠实力成团?不见得,节目赛制本不公平...
一直被说成是<浪姐>男版的<追光吧!哥哥>让人看到娱乐圈原来不只是女星到了一定年龄会影响其的事业,其实男星也不例外,看样子"当明星就是吃青春饭的"说法一点也 ...
- java 去重复值 按位_详解Java的按位操作符
Java的位操作符用来操作整数基本数据类型中的单个"比特"(bit),即代进制位.而我们知道比特就是0和1,那么,位操作就是对这些数据进行基本的操作.如果基本类型是char.byt ...
- 一台服务器能承载多少用户_一台入门级服务器能为你的办公应用带来哪些效率?评测告诉你...
数字化时代,对于企业级客户来说,不仅关注设备的智能化,更强调企业运营效率的提升. 大型企业在数字化转型中,他们的诉求最容易获得厂商的关注并得到符合自身需求的解决方案:对于中小企业来尤其是规模小的企业的 ...
- mysql两台服务器怎么做数据同步_两台mysql服务器实现双机互备配置并测试数据同步...
对于实现两台机子的互备配置,本文作出了详细的介绍,之后的测试数据同步,在10.168.1.44服务器数据库里修改一条数据, 可以看到数据已经同步过来了.反过来,修改10.168.0.126的数据,也可 ...
最新文章
- linux内核远程漏洞,CVE-2019-11815:Linux内核竞争条件漏洞导致远程代码执行
- java代码(dex)注入
- python秒表游戏代码_用20行Python代码实现2048小游戏,你会吗?
- 良品铺子如何通过网站推广打造国内休闲食品连锁零售企业?
- 奇异值分解(SVD)相关知识
- 模板标签及模板的继承与引用
- P3971-[TJOI2014]Alice and Bob【贪心】
- js 将图片置灰_艾叶灰千万别扔——艾叶灰的神奇功效
- 如何控制事物_如何使用QC七大手法?62页QC老七大工具,果断收藏
- Bailian2912 三个完全平方数【进制+枚举】
- 谈谈MVC项目中的缓存功能设计的相关问题
- linux设备驱动归纳总结--转载小白的博客
- Largest Submatrix SPOJ - MINSUB (单调栈)
- 云服务下的安全特点及基础防护
- UG基本命令ug快捷键命令大全ug基本命令教程完整版
- java架构师主要是干什么的,要注意什么?
- 17 线性方程组——线性方程组解的结构、解的性质、解空间、基础解系、基础解系存在性
- 2007版本中国网络新秀之七剑下天山
- DSP TMS320C5509A 控制DDS AD9854芯片进行AM幅度调制时的噪声抑制
- 国家信息分类和编码标准
热门文章
- 使用纯粹的ABAP位操作实现两个整数相加
- SAP OData service的执行是如何从Gateway系统转交到backend系统
- SAP Fiori : Response from creating in local store
- SAP UI5 JavaScript文件的lazy load - 懒加载
- How to deal with error message Could not start the app due to a configuration problem
- UI5 EventBus
- 如何修改product base category
- CL_CRM_REPORT_ACCRULE_ONEORDER
- How is HashMap return type handled to be converted to a json string
- 为SAP UI5正名 - 它也支持双向绑定