减少Hazelcast螺纹的数量

减少Hazelcast螺纹的数量,hazelcast,Hazelcast,出于测试目的,我希望在单个节点上运行多个Hazelcast实例。Hazelcast假设它正在管理整个节点,因此它创建了足够多的线程来完全(事实上,超过)加载所有核心。在我的8核Linux节点上,Hazelcast为每个实例创建74个线程,这很快就达到了用户线程限制。(是的,我知道这可以通过ulimit更改) 从线程视图: hz.hzInstance_1_dev.scheduled hz.hzInstance_1_dev.generic-operation.thread(x16) hz.hzIn

出于测试目的,我希望在单个节点上运行多个Hazelcast实例。Hazelcast假设它正在管理整个节点,因此它创建了足够多的线程来完全(事实上,超过)加载所有核心。在我的8核Linux节点上,Hazelcast为每个实例创建74个线程,这很快就达到了用户线程限制。(是的,我知道这可以通过
ulimit
更改)

从线程视图:

  • hz.hzInstance_1_dev.scheduled
  • hz.hzInstance_1_dev.generic-operation.thread(x16)
  • hz.hzInstance_1_dev.partition-operation.thread(x16)
  • hz.hzInstance_1_开发响应
  • hz.hz站姿_1_开发事件(x5)
  • hz.hzInstance_1_dev.wait-notify
  • hz.hzInstance_1_dev.wan(x16)
  • hz.hzInstance_1_dev.cached.thread
  • hz.hzInstance_1_dev.migration
  • hz.hzInstance_1_dev.IO-thread-in(x3)
  • hz.hzInstance_1_dev.IO-thread-out(x3)
  • hz.hzInstance_1_dev.IO-thread-Acceptor
  • hz.hzInstance_1_dev.cached-thread(x8)
  • hz.hzInstance_1_dev.HealthMonitor
通过设置以下各项,可以减少某些线程数:

  • generic-operation.thread=
    hazelcast.operation.generic.thread.count
  • partition-operation.thread=
    hazelcast.operation.thread.count
  • IO线程=
    hazelcast.IO.thread.count
  • event=
    hazelcast.event.thread.count
wan、通用操作和分区操作线程的默认数量都是2 x CPU核心计数。似乎没有任何方法可以减少wan线程的数量

有没有办法指定Hazelcast应该使用多少内核,而不是分别指定
通用操作.thread
分区操作.thread
?设置CPU相关性不起作用,因为Hazelcast仍然认为它可以访问所有内核


有没有办法更改WAN复制线程的数量?

对于Hazelcast 3.4,默认情况下,分区操作线程计数将为1x核心计数

除了这些属性之外,没有配置操作线程数的选项

恐怕无法更改wan复制线程的数量,因为它已硬编码为:ExecutorConfig.DEFAULT\u POOL\u SIZE

一根线什么都干不了,它很便宜。操作系统调度程序没有对其进行调度;只需要跟踪数据