• a、
    2019-08-10
    1.使用了Java的newCachedThreadPool,因为最大线程数是int最大值
    2.自定义线程池最大线程数设置不合理
    3.线程池的拒绝策略,选择了如果队列满了并且线程达到最大线程数后,提交的任务交给提交任务线程处理

    作者回复: 赞

    
     6
  • 新世界
    2019-08-10
    线程池和等待队列设置不合理以及拒绝策略设置不合理会导致线程数失控,比如线程池设置小,等到队列也不大,拒绝策略选择用主线程继续执行,瞬间大量请求,会导致等到队列占满,进而用主线程执行任务,导致tomcat线程被打满,线程数失控
    
     2
  • 802.11
    2019-08-10
    老师这些都是一些实时的操作,但是大部分情况CPU高的时候并没有及时的在服务器上观察,一旦错过了这个发生的时间点,事后该怎样去判断和定位呢

    作者回复: 这确实是个问题。监控系统一般会将各种指标包括cpu,内存等存下来,但是打印出线程栈,heapdump这些需要手动操作

    
     1
  • 802.11
    2019-08-10
    TIMED_WAITING 是什么意思呢?有什么寓意呢

    作者回复: 根据TCP协议,主动发起关闭的一方,会进入TIME_WAIT状态

     1
    
  • 陆离
    2019-08-10
    容器在启动起来之后就被kill掉的原因有哪些?和CPU过高有关系吗

    作者回复: 如何确定是“被kill”呢,或者是异常退出?如果是被kill,看是被谁kill了

    
    
  • 许童童
    2019-08-10
    哪些情况可能导致程序中的线程数失控,产生大量线程呢?
    创建线程池时参数是计算出来的,而计算的过程是有bug的,导致结果有问题,从而创建了大量线程。
    这种需要对程序进行测试,线上持续进行性能监控,发现并解决问题。
    
    
  • a、
    2019-08-10
    1.使用了Java的newCachedThreadPool,因为最大线程数是int最大值
    2.
    
    
  • -W.LI-
    2019-08-10
    用线程池创建线程,设置合理的最大线程数。
    之前遇见过压测十几个接口200并发下cpu使用率90%可是看了大多都是4%消耗。当时确实发现全部加起来没到90%,最后也没找到原因,就不了了之了。。线上多加了太服务器
    
    
  • nimil
    2019-08-10
    👍赞
    
    
我们在线,来聊聊吧