麒麟信安系统隔核后iperf网络测试影响说明
1、背景介绍
采用麒麟信安系统,在飞腾平台(X86平台类似)上进行了系统核隔离,修改了grub.cfg配置文件中的启动项增加isolcpus=2-63 操作,隔核后发现40G网络iperf测试存在影响。
测试命令
taskset -c 16-23 iperf -s -p 7000
taskset -c 16-23 iperf -c 192.170.xx.xx -p 7000 -t 60 -i 10 -P 5
带宽只有14Gbps,远低于不隔核的情况31Gbps
2、原因分析
不隔核的情况下进行iperf测试,通过htop能够看到绑定的核都运行了iperf线程
此时带宽能够达到31Gbps。
隔核之后进行测试,发现iperf虽然也是多个线程,但只运行在一个核上
这种情况下带宽降低到14Gbps。
deepseek解释如下:
在使用
isolcpus
隔离 CPU 核后,通过taskset
运行iperf
多线程时,所有线程只能运行在一个核上,而无法分散到多个核
使用
isolcpus
隔离核后,内核调度器默认不会主动将任务分配到隔离核(除非显式绑定)。隔离核可能被排除在系统的负载均衡逻辑之外,导致多线程无法自动分散到多个核
3、解决措施
在隔核之后增加domain选项,允许隔离核参与部分负载均衡
isolcpus=2-63,domain
这样测试后iperf多线程就能正常分布在多个核上