Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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 上,这样可以更容易更改拓扑。