Networking 数据包转发时的CPU使用率
我试图测量双核ARM Cortex A9处理器上的CPU使用情况,以对it进行基准测试。它将被用作路由器。我启用了ip转发,正在运行iperf测试,同时使用top监控CPU使用情况。我对解释top的结果有点困惑Networking 数据包转发时的CPU使用率,networking,linux-kernel,cpu-usage,Networking,Linux Kernel,Cpu Usage,我试图测量双核ARM Cortex A9处理器上的CPU使用情况,以对it进行基准测试。它将被用作路由器。我启用了ip转发,正在运行iperf测试,同时使用top监控CPU使用情况。我对解释top的结果有点困惑 Cpu0 : 0.0%us, 0.5%sy, 0.0%ni, 59.1%id, 0.0%wa, 0.0%hi, 40.5%si, 0.0%st Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.
Cpu0 : 0.0%us, 0.5%sy, 0.0%ni, 59.1%id, 0.0%wa, 0.0%hi, 40.5%si, 0.0%st
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
1) 在数据包转发期间,为什么内核使用率为0.5%,而softirq百分比为40.5%?那么有效的CPU使用率是(40.5+0.5)%
2) 为什么第二个CPU完全空闲
谢谢
a) 只有一个硬的irq为您的 连接到核心0或
b) 所有IRQ都绑定到核心0,即使您有多个IRQ行/有 多队列
c) 您的基准测试只有一个TCP/UDP流,因此哈希是 核心0上的所有内容,即使您有多个队列/核心