top: last pid: 4063; load averages: 2.12, 2.05, 2.01 up 0+07:13:40 16:30:25 41 processes: 1 running, 40 sleeping CPU: 0.2% user, 0.0% nice, 0.4% system, 0.3% interrupt, 99.1% idle Mem: 9996K Active, 38M Inact, 125M Wired, 85M Buf, 755M Free Swap: vmstat -i: vmstat -i interrupt total rate local_intc0,1: + 30806260 1182 local_intc0,3: + 1669499517 64082 local_intc0,8: + 210673186 8086 local_intc0,9: pmu0 505 0 intc0,1: mbox0 27 0 intc0,2: vchiq0 2 0 intc0,17: + 634007644 24336 intc0,28: bcm_dma0 869966 33 intc0,65: uart0 215 0 intc0,70: + 117236 4 cpu0:rendezvous 286 0 cpu1:rendezvous 299 0 cpu2:rendezvous 199 0 cpu3:rendezvous 143 0 cpu2:ast 2 0 cpu3:ast 2 0 cpu0:preempt 423859 16 cpu2:preempt 2940122 113 cpu3:preempt 2949969 113 cpu0:hardclock 8 0 Total 2552289447 97966 uname -a FreeBSD rpi2 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC arm
The cause for this was eventually tracked down to configuring interrupts for virtual timers on systems that use physical timers. It was fixed in r346312