Is there something wrong with my vyos some cpu not running process, or need additional configuration?
Check how many queues does NIC have?
how can i check it ?
sudo ethtool -l ethX
You can try to change queues amount with:
sudo ethtool -L eth4 rx 24 tx 24
Be careful - the command may interrupt traffic temporarily.
Usually, they have configured automatically for an equal value to a total amount of physical CPU cores. But maybe the NIC or driver cannot do this in this specific hardware configuration.
on all ports?
because my vyos set bonding interface
Hi @nasrultkj2 , I see that you have 2 CPUs, did you disable HT cores via sysctl?
Also, I prefer to use combined interrupts
sudo ethtool -L ethX combined 24
You have to do this for all NICs
how can i remove ht core ?, i cant access to bios
sudo echo “off” | tee /sys/devices/system/cpu/smt/control
1
i’ve tried disabling ht core, but when I run “top”, only the 24 cpu cores show up.
and when I run “ethtool - L eth4 rx 24 tx 24”. the result is like this
my vyos can’t use combined interrupt, only set rx and tx
Hi @nasrultkj2 , try to use intel irq binding script
wget https://raw.githubusercontent.com/DmitriyEshenko/tech-sup/master/set_irq_affinity.sh
chmod +x set_irq_affinity.sh
sudo ./set_irq_affinity.sh eth6
Or bind IRQ manually, check cat /proc/interrupts | grep eth
Also what about combined queues?
sudo ethtool -L eth6 combined 24
can’t combine queue. just tx and rx, Does script execution cause downtime?
Does not. Usually to binding IRQ do not interrupt any network activity
how can I check if the script is active, and how can I return to before the script was executed ?
You have to research /proc/interrupts
. With script you can bind IRQs to different CPU cores. Just run it without arguments and read help info.
with 48 core cpu, can i user this script ?
when I use this script, there is a message like this
i use Melanox nic