High CPU Load since pihole v6 install

Hello,
I use a pi zero w and since I upgrded my install to pihole v6 I encountered a CPU Load of 90% and it crushes often. In pihole v5 I was always at 0.1 0.2 0.5 on the display.

Is this okay the CPU Load? what can I do?

What does this mean? Please provide some log lines from /var/log/pihole/FTL.log at the time you notice this.

This is neither normal nor expected. Do you see this all the time of only when, e.g., being logged in to the web interface. Please provide a screenshot of htop running in your Raspberry's terminal so we can see if the work is equally distributed.

Please first enable these two display options:
Screenshot from 2023-11-24 07-39-03
Screenshot from 2023-11-24 07-39-09

Then you can see how much CPU is used by the individual components of pihole-FTL, like:

It should be right at the top for you as as you mentioned it uses ~ 90% CPU.

after a complete fresh install of pihole and raspbian

Please click on CPU% to sort by processor load so pihole-FTL is on the top and make a new screenshot.

How many queries does your Pi-hole show as typical figure in 24 hours?


In this screenshot pihole-FTL is consuming only about 1.3% at that time. Overall your system is running for nearly 30 minutes now and FTL used slightly less than one minute of "CPU time". This means it used less than one minute a 100%-equivalent of computing time so about 3% of the total available CPU time since you started the machine.

Your screenshot furthermore shows that almost all work was done by the two civetweb-worker threads but currently they aren't doing anything. This may be expected on such a low-power device as the Pi Zero and comes from that we update the content on the web interface really frequently (up to once per second for the statistics). Maybe this is just too much for such a device.

Maybe we just make the updating interval somewhat slower, it is not really necessary to update once per second. An alternative would be adding a "slow mode" which could be enabled by FTL automatically when we see that this is a low-end device. Opinions? @moderators

edit: Current update intervals:

  • summary boxes: every second
  • the tables every 10 seconds
  • blocking status: every 10 seconds
  • pie charts: both each minute
  • sensors (temperature/load/memory): every 2 minutes
  • main graphs: both every 10 minutes

Everything fires an individual AJAX GET REST query.

Can I slow it down for my purpose now?

So that I can use my pihole again?

This is when I open the webinterface

Yes, please try

pihole checkout web tweak/refresh_intervals_slow

to see if this already improves the behavior you are seeing.

Looks better


further reduction possible? @DL6ER

Yes, we can make the updating even slower, I am not sure which compromise is best. The CPU utilization should only be there momentarily and then you have several seconds without any CPU load. This is not an issue.

mhhm which values you used now?

right now i am at 48% cpu load in average

Can you reduce it a little bit further?

Done, simply run the command once more to get the changes

It is much better than before but still after sometimes my system is inaccessible and I need to restart .....hop tells me it is most time at 100%cpu...

Which Hardware are you using?