我们的基础服务RPC日调用量已经到2千万以上,设置线程数时也需要注意,做一些基本的估算
影响线程池数量因素:
1. 在 不考虑系统本身限制 的情况下,主要跟JVM一下几点有关:
- -Xms 初始堆大小 (在实际生产中,一般把-Xms和-Xmx设置成一样的。)
- -Xmx 最大堆大小
- -Xss 每个线程栈大小
1): 当给JVM的堆内存分配的越大,系统可创建的线程数量就越少(可以通过上面测试程序,不断的改变-Xmx,-Xms的值,观看最后异常时的线程数量)。这个如何理解呢?很简单,因为线程占用的是系统空间,所以当JVM的堆内存越大,系统本身的内存就越少,自然可生成的线程数量就越少。
2): 当-Xss的的值越小,可生成的线程数量就越多。*(一样可以通过上面测试,保