Please follow the below template, it will help us to help you!
Expected Behaviour:
The memory usage of PiHole 4.22 must be the same as 4.11
Actual Behaviour:
Nearly 2 times more memory needed by FTL
Debug Token: l2iogeui0w
Today I have updated my PiHole from 4.11 to 4.22 (latest version). No problems with updating.
Because I knew the memory problem because I have done a lot of experiments with another PiHole (see below), I have taken print screens before and after update for showing the diffrence.
The FTL proces uses 341 MB in version 4.11, now it’s 616 MB. Nearley 2 times more. Nothing is changed in configuration just before and after the update. This PiHole is running on a RaspberryPi3 with Raspbian Stretch Lite and all updates. The Pi is operational without further problems.
My pihole-FTL.conf looks like:
AAAA_QUERY_ANALYSIS=no
MAXDBDAYS=365
API_EXCLUDE_DOMAINS=*.workgroup
BLOCKINGMODE=IP
DBINTERVAL=5.0
RESOLVE_IPV6=no
PRIVACYLEVEL=0
Screen pictures before updating:
The pictures after updating:
My family has a PiOne, running PiHole 4.11 on a actual Armbian (Stretch lite).
At my home I also have a PiOne for experiments. I take the image of the PiOne of my family and restore it on my own PiOne. The only difference is that I have to disable DHCP on my PiOne afterwards. After updating my PiOne to v4.22, the same memory issue. Before update FTL uses 371 MB. Because the PiOne has 500 MB RAM on board, I have to reduce the blocklist from 3.6 Million to 2 M. to get it running. Now FTL uses 357 MB (total memory usage, displayed in admin webpage = 79.6%, was in V4.11 75,7% ). Because it’s not in use, no network traffic uses this PiHole (no queries only them from PiOne himselve).
I don’t have IPv6.
More that a year ago I have choosen for blockingmode = IP, because in that case each domain is stored in memory only once to reduce memory usage. Is this changed in V4.22, so stored 2 times? Why, because only blocked domains are enough; blocking mode can applied realtime from the config file. Or is it a bug that in case of RESOLVE_IPV6 .AND. BLOCKINGMODE=IP still stores IPv4 and Ipv6 addresses in memory for each domain?
Otherwise: what is going wrong with FTL and their memory usage in V4.22?