OpenBSD 6.4 and the included Unbound 1.8.1. Intel NUC with 2 real CPUS and 2 Virtual. Some sysctl stuff:
hw.ncpu=4
hw.ncpufound=4
hw.ncpuonline=2
hw.smt=0
“top” shows four cpus with work distributed to only two of them. “ps” and the statistics emitted by Unbound show only one CPU working.
ps output:
87709 ?? Is 0:00.02 unbound -c /var/unbound/etc/unbound.conf
86298 ?? S 1:49.24 unbound -c /var/unbound/etc/unbound.conf
unbound statistics (every hour):
Feb 18 13:14:02 unbound1 unbound: [87709:0] info: server stats for thread 0: 0 queries, 0 answers from cache, 0 recursions, 0 prefetch, 0 rejected by ip ratelimiting
Feb 18 13:14:02 unbound1 unbound: [87709:0] info: server stats for thread 0: requestlist max 0 avg 0 exceeded 0 jostled 0
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: server stats for thread 1: 47870 queries, 18749 answers from cache, 29121 recursions, 0 prefetch, 0 rejected by ip ratelimiting
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: server stats for thread 1: requestlist max 46 avg 5.96944 exceeded 0 jostled 0
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: average recursion processing time 0.888912 sec
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: histogram of recursion processing times
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: [25%]=0.0276987 median[50%]=0.0609112 [75%]=0.128225
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: lower(secs) upper(secs) recursions
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.000000 0.000001 2779
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.000008 0.000016 7
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.000064 0.000128 1
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.000128 0.000256 5
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.000256 0.000512 25
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.000512 0.001024 197
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.001024 0.002048 69
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.002048 0.004096 52
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.004096 0.008192 103
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.008192 0.016384 222
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.016384 0.032768 5530
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.032768 0.065536 6483
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.065536 0.131072 6653
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.131072 0.262144 4023
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.262144 0.524288 1786
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 0.524288 1.000000 604
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 1.000000 2.000000 224
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 2.000000 4.000000 72
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 4.000000 8.000000 64
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 8.000000 16.000000 53
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 16.000000 32.000000 52
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 32.000000 64.000000 49
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 64.000000 128.000000 4
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 128.000000 256.000000 30
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 256.000000 512.000000 23
Feb 18 14:14:02 unbound1 unbound: [86298:1] info: 512.000000 1024.000000 6
Feb 18 14:14:02 unbound1 unbound: [87709:0] info: server stats for thread 0: 0 queries, 0 answers from cache, 0 recursions, 0 prefetch, 0 rejected by ip ratelimiting
Feb 18 14:14:02 unbound1 unbound: [87709:0] info: server stats for thread 0: requestlist max 0 avg 0 exceeded 0 jostled 0
unbound.conf:
num-threads: 2
No other tweaks make to unbound.conf. Version is as distributed under OpenBSD 6.4. Unbound works find under OpenBSD 6.2 on a cpu with 2 real cores and no virtual.
I’m thinking that this issue may have something to do with the way OpenBSD is reporting available CPUs. I’m going to turn hyperthreading off at the BIOS level at some point (when I can.) I am wondering if anyone has any experience with this. Where “this” is OpenBSD and Unbound with hw.smt=0 and Unbound apparently not using more than one thread.
Thanks for any feedback!
—doug