My edge router normally uses about 2.5 GB. It is used to serve about 10 host/domain overrides for the locally hosted resources and forwards the rest to the root servers. Since the whole rig did not seem to use more than 2.5 GB of RAM, I removed the extra sticks and left only 2x sticks of 2GB. It was then when Unbound began to crash, and I undertook to watch its memory utilization and noticed that right before the crash the memory jumps from 2.5-2.7 to 3.7-3.9 GB. I resolved this by adding 2x more sticks of 2GB.
According to the logs, the simultaneously requested number of names seldom if ever exceeds 20. We have under 10 simultaneous users.
So I am left wondering why it suddenly needs more than 1 GB of memory and why the 2GB swap does not save it from crashing.
I believe that it doesn’t crash but rather the process is killed by the OOM killer, I assume this is Linux.
What could be the cause of the spike in memory usage? Do the logs reveal anything?
Apart from Unbound’s various *-cache-size options for caches (by default they are very conservative), there could also be auth/rpz-zones that contribute to the increase in size.
This is all that’s the router is showing for the Unbound log, since the last reboot. No crashes since. It keeps logs in memory tmp, so previous logs are lost:
2026-09-28T07:00:09-04:00 Informational unbound [92984:0] info: generate keytag query _ta-4f66-9728. NULL IN
2026-09-27T19:26:03-04:00 Informational unbound [92984:3] info: generate keytag query _ta-4f66-9728. NULL IN
2026-09-27T19:26:02-04:00 Informational unbound [92984:0] info: start of service (unbound 1.24.2).
2026-09-27T19:26:02-04:00 Notice unbound [92984:0] notice: init module 2: iterator
2026-09-27T19:26:02-04:00 Notice unbound [92984:0] notice: init module 1: validator
2026-09-27T19:26:02-04:00 Informational unbound [92984:0] info: dnsbl_module: blocklist loaded. length is 1846461
2026-09-27T19:25:56-04:00 Informational unbound [92984:0] info: dnsbl_module: updating blocklist.
2026-09-27T19:25:56-04:00 Notice unbound [92984:0] notice: init module 0: python
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain1.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain1.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for router.domain2.ca(10.10.10.1)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain3.com(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain4.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain5.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain2.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain6.com(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain7.com(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain8.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain6.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain1.com(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain9.com(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for domain10.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for host1.domain8.ca(10.10.1.202)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for host2.domain8.ca(10.10.1.202)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for host3.domain8.ca(10.10.1.202)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for host4.domain8.ca(10.10.1.202)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain3.com(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain4.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain5.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain2.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain6.com(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain7.com(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain8.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain6.ca(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain1.com(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for www.domain9.com(10.10.1.223)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for host5.domain2.ca(10.10.1.4)
2026-09-27T19:25:55-04:00 Warning unbound PTR record already exists for host6.domain2.ca(10.10.1.4)
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 1.000000 2.000000 1425
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.524288 1.000000 421
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.262144 0.524288 71
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.131072 0.262144 141
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.065536 0.131072 132
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.032768 0.065536 93
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.016384 0.032768 190
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.008192 0.016384 20
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.004096 0.008192 1
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.001024 0.002048 13
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000128 0.000256 1
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000000 0.000001 186
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: lower(secs) upper(secs) recursions
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: [25%]=0.165932 median[50%]=1.05474 [75%]=1.52737
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: histogram of recursion processing times
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: average recursion processing time 0.908704 sec
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: server stats for thread 3: requestlist max 10 avg 0.70915 exceeded 0 jostled 0
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: server stats for thread 3: 5325 queries 1088 answers from cache 4237 recursions 102 prefetch 0 rejected by ip ratelimiting
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 1.000000 2.000000 1477
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.524288 1.000000 423
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.262144 0.524288 92
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.131072 0.262144 130
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.065536 0.131072 104
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.032768 0.065536 95
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.016384 0.032768 183
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.008192 0.016384 20
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.002048 0.004096 1
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.001024 0.002048 15
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000512 0.001024 1
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000256 0.000512 3
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000128 0.000256 2
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000064 0.000128 1
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000032 0.000064 1
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000000 0.000001 170
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: lower(secs) upper(secs) recursions
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: [25%]=0.215261 median[50%]=1.07989 [75%]=1.53995
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: histogram of recursion processing times
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: average recursion processing time 0.931976 sec
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: server stats for thread 2: requestlist max 5 avg 0.697405 exceeded 0 jostled 0
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: server stats for thread 2: 5351 queries 1146 answers from cache 4205 recursions 111 prefetch 0 rejected by ip ratelimiting
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 1.000000 2.000000 1411
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.524288 1.000000 424
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.262144 0.524288 94
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.131072 0.262144 139
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.065536 0.131072 117
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.032768 0.065536 107
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.016384 0.032768 224
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.008192 0.016384 17
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.004096 0.008192 2
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.001024 0.002048 12
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000512 0.001024 3
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000256 0.000512 1
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000128 0.000256 2
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000000 0.000001 196
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: lower(secs) upper(secs) recursions
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: [25%]=0.136966 median[50%]=1.02587 [75%]=1.51293
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: histogram of recursion processing times
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: average recursion processing time 0.885996 sec
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: server stats for thread 1: requestlist max 6 avg 0.6896 exceeded 0 jostled 0
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: server stats for thread 1: 5433 queries 1136 answers from cache 4297 recursions 107 prefetch 0 rejected by ip ratelimiting
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 1.000000 2.000000 1476
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.524288 1.000000 436
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.262144 0.524288 89
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.131072 0.262144 149
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.065536 0.131072 124
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.032768 0.065536 119
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.016384 0.032768 204
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.008192 0.016384 17
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.001024 0.002048 14
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000512 0.001024 4
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000256 0.000512 1
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000016 0.000032 1
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: 0.000000 0.000001 202
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: lower(secs) upper(secs) recursions
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: [25%]=0.151305 median[50%]=1.0393 [75%]=1.51965
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: histogram of recursion processing times
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: average recursion processing time 0.894716 sec
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: server stats for thread 0: requestlist max 10 avg 0.701033 exceeded 0 jostled 0
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: server stats for thread 0: 5456 queries 1113 answers from cache 4343 recursions 109 prefetch 0 rejected by ip ratelimiting
2026-09-27T19:25:53-04:00 Informational unbound [59770:0] info: service stopped (unbound 1.24.2).
2026-09-27T10:52:28-04:00 Informational unbound [59770:0] info: start of service (unbound 1.24.2).
2026-09-27T10:52:28-04:00 Notice unbound [59770:0] notice: init module 2: iterator
2026-09-27T10:52:28-04:00 Notice unbound [59770:0] notice: init module 1: validator
2026-09-27T10:52:28-04:00 Informational unbound [59770:0] info: dnsbl_module: blocklist loaded. length is 1846461
2026-09-27T10:52:22-04:00 Informational unbound [59770:0] info: dnsbl_module: updating blocklist.
2026-09-27T10:52:22-04:00 Notice unbound [59770:0] notice: init module 0: python
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain1.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain1.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for router.domain2.ca(10.10.10.1)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain3.com(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain4.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain5.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain2.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain6.com(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain7.com(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain8.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain6.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain1.com(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain9.com(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for domain10.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for host1.domain8.ca(10.10.1.202)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for host2.domain8.ca(10.10.1.202)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for host3.domain8.ca(10.10.1.202)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for host4.domain8.ca(10.10.1.202)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain3.com(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain4.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain5.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain2.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain6.com(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain7.com(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain8.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain6.ca(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain1.com(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for www.domain9.com(10.10.1.223)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for host5.domain2.ca(10.10.1.4)
2026-09-27T10:52:20-04:00 Warning unbound PTR record already exists for host6.domain2.ca(10.10.1.4)
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 1.000000 2.000000 316
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.524288 1.000000 100
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.262144 0.524288 31
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.131072 0.262144 45
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.065536 0.131072 35
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.032768 0.065536 30
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.016384 0.032768 67
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.008192 0.016384 7
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.001024 0.002048 3
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.000000 0.000001 53
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: lower(secs) upper(secs) recursions
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: [25%]=0.0875374 median[50%]=0.869179 [75%]=1.45649
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: histogram of recursion processing times
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: average recursion processing time 0.809721 sec
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: server stats for thread 3: requestlist max 9 avg 0.74669 exceeded 0 jostled 0
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: server stats for thread 3: 1354 queries 237 answers from cache 1117 recursions 16 prefetch 0 rejected by ip ratelimiting
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 1.000000 2.000000 316
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.524288 1.000000 101
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.262144 0.524288 36
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.131072 0.262144 53
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.065536 0.131072 40
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.032768 0.065536 23
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.016384 0.032768 79
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.008192 0.016384 8
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.001024 0.002048 2
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.000000 0.000001 53
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: lower(secs) upper(secs) recursions
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: [25%]=0.0864256 median[50%]=0.813954 [75%]=1.4375
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: histogram of recursion processing times
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: average recursion processing time 0.784385 sec
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: server stats for thread 2: requestlist max 5 avg 0.712889 exceeded 0 jostled 0
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: server stats for thread 2: 1349 queries 234 answers from cache 1115 recursions 10 prefetch 0 rejected by ip ratelimiting
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 1.000000 2.000000 312
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.524288 1.000000 97
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.262144 0.524288 32
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.131072 0.262144 37
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.065536 0.131072 28
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.032768 0.065536 25
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.016384 0.032768 72
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.008192 0.016384 9
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.004096 0.008192 1
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.001024 0.002048 4
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.000512 0.001024 2
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.000128 0.000256 1
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.000000 0.000001 42
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: lower(secs) upper(secs) recursions
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: [25%]=0.0877714 median[50%]=0.906819 [75%]=1.46955
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: histogram of recursion processing times
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: average recursion processing time 0.836285 sec
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: server stats for thread 1: requestlist max 7 avg 0.758123 exceeded 0 jostled 0
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: server stats for thread 1: 1304 queries 210 answers from cache 1094 recursions 14 prefetch 0 rejected by ip ratelimiting
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 1.000000 2.000000 332
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.524288 1.000000 99
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.262144 0.524288 26
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.131072 0.262144 41
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.065536 0.131072 20
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.032768 0.065536 31
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.016384 0.032768 72
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.008192 0.016384 5
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.001024 0.002048 2
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.000256 0.000512 1
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: 0.000000 0.000001 44
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: lower(secs) upper(secs) recursions
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: [25%]=0.108954 median[50%]=0.978377 [75%]=1.49322
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: histogram of recursion processing times
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: average recursion processing time 0.851575 sec
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: server stats for thread 0: requestlist max 9 avg 0.756567 exceeded 0 jostled 0
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: server stats for thread 0: 1353 queries 222 answers from cache 1131 recursions 11 prefetch 0 rejected by ip ratelimiting
2026-09-27T10:52:19-04:00 Informational unbound [50261:0] info: service stopped (unbound 1.24.2).
2026-09-27T08:57:33-04:00 Informational unbound [50261:2] info: generate keytag query _ta-4f66-9728. NULL IN
2026-09-27T08:56:55-04:00 Informational unbound [50261:0] info: start of service (unbound 1.24.2).
2026-09-27T08:56:54-04:00 Notice unbound [50261:0] notice: init module 2: iterator
2026-09-27T08:56:54-04:00 Notice unbound [50261:0] notice: init module 1: validator
2026-09-27T08:56:54-04:00 Informational unbound [50261:0] info: dnsbl_module: blocklist loaded. length is 1846461
2026-09-27T08:56:48-04:00 Informational unbound [50261:0] info: dnsbl_module: updating blocklist.
2026-09-27T08:56:48-04:00 Notice unbound [50261:0] notice: init module 0: python
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for www.domain1.ca(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain1.ca(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for router.domain2.ca(10.10.10.1)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain3.com(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain4.ca(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain5.ca(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain2.ca(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain6.com(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain7.com(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain8.ca(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain6.ca(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain1.com(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain9.com(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for domain10.ca(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for host1.domain8.ca(10.10.1.202)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for host2.domain8.ca(10.10.1.202)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for host3.domain8.ca(10.10.1.202)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for host4.domain8.ca(10.10.1.202)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for www.domain3.com(10.10.1.223)
2026-09-27T08:56:47-04:00 Warning unbound PTR record already exists for
By re-reading your message, did you check Unbound’s own memory consumption or the system as a whole?
If Unbound is just randonly killed by the OOM-killer only more memory would help.
Also I see that maybe protect(1) could be used to prevent Unbound from being oom-killed on FreeBSD; no experience with it though.
I guess that if Unbound would be protected in this case, something else would be oom-killed instead, not sure if that would be better or worse.
From the logs, I don’t see anything strange apart from the related warnings coming from the third party dnsbl_module or the python module I assume.
If memory consumption of Unbound specifically is suddenly spiking, they could be potential candidates for further investigation; can’t help with them though.
I did not. It happened momentarily as I was watching the router’s built-in dashboard: a spike in memory utilization, and the next split second Unbound service was down.
I have another such router running perfectly fine at another location, with only a single 2 GB stick. Fewer users there though.
For testing, I replaced Unbound with Dnsmasq and found that Unbound itself uses at least 1.2 GB of RAM. Is this normal and expected that it uses this much and sometimes spikes 2.4 GB?
Can you just confirm whether it is normal or not, and then I’ll go bugging the router OS developers. The 1.2-2.4 GB memory requirement for a forwarding resolver sounds weird, so please confirm.
The various *-cache-size options keep the memory consumption for caches in check (based on the system and the allocator’s overhead real consumption may climb to roughly twice the configured amount).
Apart from that, auth/rpz-zones will use all the memory needed.
Local zones as well.
But I see you have a Python module running in Unbound and that comes with whatever memory requirements it needs; it is third party so I can’t comment on that.
You can check the statistics of Unbound (via unbound-control stats_noreset) to check the mem.* values, available as extended statistics, to see what Unbound thinks about memory consumption.
# unbound-control stats_noreset
[1791306981] unbound-control warning: control-enable is 'no' in the config file.
[1791306981] unbound-control error: connect: Connection refused for 127.0.0.1 port 8953
I’d taken a backup of the original conf file and reduced some settings vs vanilla: