With a low power CPU like the Zero, it is not unusual to get CPU demand spikes. Here are the loads on a Zero W (connected via WiFi) after a few routine system activities. At the start, the Pi was just sitting doing its thing processing DNS queries. As we stress the CPU, you can see the 5 minute and 15 minute load averages increase accordingly:
pi@Pi-ZeroW-dev:~ $ uptime
14:02:55 up 34 days, 25 min, 1 user, load average: 0.32, 0.21, 0.16
pi@Pi-ZeroW-dev:~ $ sudo apt update
Get:1 http://archive.raspberrypi.org/debian bullseye InRelease [23.7 kB]
Get:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB]
Get:3 http://archive.raspberrypi.org/debian bullseye/main armhf Packages [289 kB]
Get:4 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages [13.2 MB]
Fetched 13.6 MB in 26s (517 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
13 packages can be upgraded. Run 'apt list --upgradable' to see them.
pi@Pi-ZeroW-dev:~ $ uptime
14:03:56 up 34 days, 26 min, 1 user, load average: 1.29, 0.48, 0.26
pi@Pi-ZeroW-dev:~ $ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm gpgv libssl1.1 openssl
13 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 9,672 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.raspberrypi.org/debian bullseye/main armhf libssl1.1 armhf 1.1.1n-0+deb11u3+rpt1 [1,292 kB]
Get:2 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gnupg-l10n all 2.2.27-2+deb11u2 [1,086 kB]
Get:3 http://archive.raspberrypi.org/debian bullseye/main armhf openssl armhf 1.1.1n-0+deb11u3+rpt1 [817 kB]
Get:4 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gnupg-utils armhf 2.2.27-2+deb11u2 [797 kB]
Get:5 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gpgconf armhf 2.2.27-2+deb11u2 [525 kB]
Get:6 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf dirmngr armhf 2.2.27-2+deb11u2 [706 kB]
Get:7 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gpg armhf 2.2.27-2+deb11u2 [826 kB]
Get:8 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gpg-agent armhf 2.2.27-2+deb11u2 [616 kB]
Get:9 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gpg-wks-client armhf 2.2.27-2+deb11u2 [503 kB]
Get:10 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gpg-wks-server armhf 2.2.27-2+deb11u2 [498 kB]
Get:11 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gpgv armhf 2.2.27-2+deb11u2 [582 kB]
Get:12 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gpgsm armhf 2.2.27-2+deb11u2 [600 kB]
Get:13 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gnupg all 2.2.27-2+deb11u2 [825 kB]
Fetched 9,672 kB in 12s (794 kB/s)
Reading changelogs... Done
Preconfiguring packages ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../gnupg-l10n_2.2.27-2+deb11u2_all.deb ...
Unpacking gnupg-l10n (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up gnupg-l10n (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../gnupg-utils_2.2.27-2+deb11u2_armhf.deb ...
Unpacking gnupg-utils (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up gnupg-utils (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../gpgconf_2.2.27-2+deb11u2_armhf.deb ...
Unpacking gpgconf (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up gpgconf (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../dirmngr_2.2.27-2+deb11u2_armhf.deb ...
Unpacking dirmngr (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up dirmngr (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../gpg_2.2.27-2+deb11u2_armhf.deb ...
Unpacking gpg (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up gpg (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../gpg-agent_2.2.27-2+deb11u2_armhf.deb ...
Unpacking gpg-agent (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up gpg-agent (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../gpg-wks-client_2.2.27-2+deb11u2_armhf.deb ...
Unpacking gpg-wks-client (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up gpg-wks-client (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../gpg-wks-server_2.2.27-2+deb11u2_armhf.deb ...
Unpacking gpg-wks-server (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up gpg-wks-server (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../gpgv_2.2.27-2+deb11u2_armhf.deb ...
Unpacking gpgv (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up gpgv (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../gpgsm_2.2.27-2+deb11u2_armhf.deb ...
Unpacking gpgsm (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up gpgsm (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../gnupg_2.2.27-2+deb11u2_all.deb ...
Unpacking gnupg (2.2.27-2+deb11u2) over (2.2.27-2+deb11u1) ...
Setting up gnupg (2.2.27-2+deb11u2) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../libssl1.1_1.1.1n-0+deb11u3+rpt1_armhf.deb ...
Unpacking libssl1.1:armhf (1.1.1n-0+deb11u3+rpt1) over (1.1.1n-0+deb11u2+rpt1) ...
Setting up libssl1.1:armhf (1.1.1n-0+deb11u3+rpt1) ...
(Reading database ... 42218 files and directories currently installed.)
Preparing to unpack .../openssl_1.1.1n-0+deb11u3+rpt1_armhf.deb ...
Unpacking openssl (1.1.1n-0+deb11u3+rpt1) over (1.1.1n-0+deb11u2+rpt1) ...
Setting up openssl (1.1.1n-0+deb11u3+rpt1) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for install-info (6.7.0.dfsg.2-6) ...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...
pi@Pi-ZeroW-dev:~ $ uptime
14:05:40 up 34 days, 28 min, 1 user, load average: 1.34, 0.74, 0.38
pi@Pi-ZeroW-dev:~ $ pihole -g -f
[β] Deleting existing list cache
[i] Neutrino emissions detected...
[β] Pulling blocklist source list into range
[β] Preparing new gravity database
[i] Using libz compression
[i] Target: https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
[β] Status: Retrieval successful
[i] Analyzed 122102 domains
[i] Target: https://www.github.developerdan.com/hosts/lists/ads-and-tracking-extended.txt
[β] Status: Retrieval successful
[i] Analyzed 420719 domains
[β] Creating new gravity databases
[β] Storing downloaded domains in new gravity database
[β] Building tree
[β] Swapping databases
[β] The old database remains available.
[i] Number of gravity domains: 542821 (534031 unique domains)
[i] Number of exact blacklisted domains: 4
[i] Number of regex blacklist filters: 25
[i] Number of exact whitelisted domains: 17
[i] Number of regex whitelist filters: 0
[β] Flushing DNS cache
[β] Cleaning up stray matter
[β] FTL is listening on port 53
[β] UDP (IPv4)
[β] TCP (IPv4)
[β] UDP (IPv6)
[β] TCP (IPv6)
[β] Pi-hole blocking is enabled
pi@Pi-ZeroW-dev:~ $ uptime
14:07:46 up 34 days, 30 min, 1 user, load average: 1.33, 0.98, 0.52
Then, 5 minutes later the load averages are dropping, reflecting the reduced CPU load for the past 5 minutes:
pi@Pi-ZeroW-dev:~ $ uptime
14:12:37 up 34 days, 35 min, 1 user, load average: 0.02, 0.39, 0.38