4.3. 使用 Tuna 调优 IRQ
要查看系统中当前运行的 IRQ 列表,请参阅 Tuna GUI 中的 Monitoring 选项卡或
/proc/interrpupts
文件。您还可以使用 tuna --show_irqs 命令。
要指定要受您的命令影响的 IRQ 列表,请使用
--irqs
参数:
#
tuna --irqs=irq_list --run=COMMAND
要将中断移动到指定的 CPU 中,请使用
--move
参数:
#
tuna --irqs=irq_list --cpus=cpu_list --move
irq_list 参数是一个逗号分隔的 IRQ 编号或用户名模式的列表。
cpu_list 参数是一个逗号分隔的 CPU 编号列表。例如,- -cpus=0,2。
例如,要以
sfc1
开头的所有中断为目标,并将它们分散到两个 CPU 上:
#
tuna --irqs=sfc1\* --cpus=7,8 --move --spread
要验证您设置的更改,请使用
--show_irqs
参数,使用 --move
参数修改 IRQ:
#
tuna --irqs=128 --show_irqs # users affinity 128 iwlwifi 0,1,2,3#
tuna --irqs=128 --cpus=3 --move#
tuna --irqs=128 --show_irqs # users affinity 128 iwlwifi 3
这样,您可以比较更改前后所选 IRQ 的状态。
注意
在某些情况下,使用 Tuna GUI 可能更为方便。通过指定要在其上运行的 CPU 来移动 IRQ 和线程可能会非常耗时且困难,因为它涉及创建 CPU 掩码的多个步骤。Tuna GUI 可自动化该进程.在 Tuna GUI 中,您还可以选择线程和 IRQ,并将它们拖到预期 CPU 上,这样可以更容易更改拓扑。