@jacob hi, TaskManager 的一个 Slot 代表一个可用线程,该线程具有固定的内存,并且 Slot 只对内存隔离,没有对 CPU 隔离。 而slot 和并行度的关系是:Slot 是指 TaskManager 最大能并发执行的能力,parallelism 是指 TaskManager 实际使用的并发能力。 个人见解,并行度的设置一般无需考虑CPU。
在 2021-01-22 16:18:32,"Jacob" <17691150...@163.com> 写道: >使用Flink以来,一直有一个问题困扰着。 > > >Flink 设置n个并行度后,是指占用n个CPU,而不是n个CPU核数。 > >比如Flink消费kafka >topic时,并行度数量往往都建议设置topic分区的个数,意在让每个并行度消费一个分区,达到性能最优。那也就是说一个并行度代表一个消费线程,同时也表示一个slot,又由于在Flink中一个并行度表示一个CPU,那么是不是可以理解为一个CPU就是一个线程。 > > >如果FLink 以standalone的模式部署在一台机器上,这台机器有4个CPU,每个CPU有6个核,那么该集群的最大并行度是不是就是 4 ? > >在我的认识中,一个核表示一个线程,但在上面的理解中,好像是一个CPU就是一个线程,这是否矛盾呢? > > > > >----- >Thanks! >Jacob >-- >Sent from: http://apache-flink.147419.n8.nabble.com/