AI Copilot suggestion
-
[25.07.1-RELEASE][admin@pfSense.home.arpa]/root: sysctl -a | grep intr kern.core_dump_can_intr: 1 vm.stats.vm.v_intrans: 120016 vm.stats.sys.v_intr: 59029319 net.inet.ip.intr_queue_maxlen: 1000 net.inet.ip.intr_queue_drops: 0 net.inet.ip.intr_direct_queue_maxlen: 256 net.inet.ip.intr_direct_queue_drops: 0 net.inet6.ip6.intr_queue_maxlen: 256 net.inet6.ip6.intr_direct_queue_maxlen: 256 hw.intrs: irq0: attimer0:3 @cpu0(domain0): 0 hw.intrbalance: 0 hw.intr_hwpmc_waiting_report_threshold: 1 hw.intr_epoch_batch: 1000 hw.intr_storm_threshold: 0 machdep.intr_apic_id_limit: -1 machdep.hyperthreading_intr_allowed: 0 dev.nvme.0.ioq.3.num_intr_handler_calls: 540754 dev.nvme.0.ioq.2.num_intr_handler_calls: 537802 dev.nvme.0.ioq.1.num_intr_handler_calls: 539084 dev.nvme.0.ioq.0.num_intr_handler_calls: 572738 dev.nvme.0.adminq.num_intr_handler_calls: 17 dev.nvme.0.num_intr_handler_calls: 2190395 dev.netmap.no_pendintr: 1 [25.07.1-RELEASE][admin@pfSense.home.arpa]/root: vmstat -i interrupt total rate irq4: uart0 1492 0 cpu0:timer 115657849 1009 cpu1:timer 20030697 175 cpu2:timer 19964505 174 cpu3:timer 28091847 245 irq131: igc0:rxq0 23918348 209 irq132: igc0:rxq1 9279796 81 irq133: igc0:rxq2 2557624 22 irq134: igc0:rxq3 2846502 25 irq135: igc0:aq 2 0 irq136: igc1:rxq0 5846139 51 irq137: igc1:rxq1 612593 5 irq138: igc1:rxq2 1033951 9 irq139: igc1:rxq3 1209802 11 irq140: igc1:aq 11 0 irq141: igc2:rxq0 796950 7 irq142: igc2:rxq1 798485 7 irq143: igc2:rxq2 487957 4 irq144: igc2:rxq3 7095946 62 irq145: igc2:aq 73 0 irq146: igc3:rxq0 114233 1 irq147: igc3:rxq1 87117 1 irq148: igc3:rxq2 96062 1 irq149: igc3:rxq3 135585 1 irq150: igc3:aq 82 0 irq151: nvme0:admin 17 0 irq152: nvme0:io0 575514 5 irq153: nvme0:io1 541521 5 irq154: nvme0:io2 540367 5 irq155: nvme0:io3 543390 5 Total 242864457 2120 [25.07.1-RELEASE][admin@pfSense.home.arpa]/root: # ================================ # pfSense Interrupt Affinity Plan # Optimised for low-latency WAN/VPN # ================================ # --- General --- # Enable interrupt balancing temporarily for testing # (Set to 0 after manual pinning for deterministic latency) hw.intrbalance=0 # --- WAN (igc0) --- # Primary RX queue (rxq0) pinned to CPU1 for latency-critical traffic dev.igc.0.queue0.cpu=1 # Secondary queues spread to CPU2 and CPU3 dev.igc.0.queue1.cpu=2 dev.igc.0.queue2.cpu=3 dev.igc.0.queue3.cpu=2 # --- LAN (igc1) --- # Main LAN queue on CPU3, others spread to avoid CPU0 dev.igc.1.queue0.cpu=3 dev.igc.1.queue1.cpu=2 dev.igc.1.queue2.cpu=3 dev.igc.1.queue3.cpu=2 # --- VLAN trunk / other (igc2) --- # Spread evenly between CPU2 and CPU3 dev.igc.2.queue0.cpu=2 dev.igc.2.queue1.cpu=3 dev.igc.2.queue2.cpu=2 dev.igc.2.queue3.cpu=3 # --- Low-traffic interface (igc3) --- # No latency sensitivity; spread to avoid CPU0 dev.igc.3.queue0.cpu=2 dev.igc.3.queue1.cpu=3 dev.igc.3.queue2.cpu=2 dev.igc.3.queue3.cpu=3 # --- NVMe Storage (optional) --- # Spread I/O queues to avoid clashing with WAN CPU dev.nvme.0.ioq0.cpu=2 dev.nvme.0.ioq1.cpu=3 dev.nvme.0.ioq2.cpu=2 dev.nvme.0.ioq3.cpu=3 # ================================ # Notes: # - CPU0 is reserved for system/timer work; no NIC queues assigned. # - CPU1 handles WAN primary queue exclusively for low latency. # - CPU2 and CPU3 share secondary queues and bulk traffic. # - Apply via System > Advanced > System Tunables for persistence. # - Verify with 'vmstat -i' and 'top -P' after applying. # ================================If somebody can confirm, is it will make any improvements, or all of this will make even worse and unstable pfsense
-
It will probably make no noticeable difference.
Try it and see. If you're running ZFS you can make a snapshot, test it and then roll back if it does cause a problem.
Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.