Tuned-ppd won't start

This is from systemctl:

systemctl status tuned-ppd.service
× tuned-ppd.service - PPD-to-TuneD API Translation Daemon
     Loaded: loaded (/usr/lib/systemd/system/tuned-ppd.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf, 50-keep-warm.conf
     Active: failed (Result: exit-code) since Sat 2025-02-15 04:18:28 WIB; 13s ago
 Invocation: 3ac837f0466f4f03bc750942ea16f119
    Process: 14599 ExecStart=/usr/sbin/tuned-ppd -l (code=exited, status=1/FAILURE)
   Main PID: 14599 (code=exited, status=1/FAILURE)
   Mem peak: 14.2M
        CPU: 231ms

Feb 15 04:18:28 fedora tuned-ppd[14599]:   File "/usr/lib/python3.13/site-packages/tuned/ppd/controller.py", line 413, in s>
Feb 15 04:18:28 fedora tuned-ppd[14599]:     if not self._set_tuned_profile(self._config.ppd_to_tuned.get(profile, self._on>
Feb 15 04:18:28 fedora tuned-ppd[14599]:                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^>
Feb 15 04:18:28 fedora tuned-ppd[14599]:   File "/usr/lib/python3.13/site-packages/tuned/ppd/config.py", line 31, in get
Feb 15 04:18:28 fedora tuned-ppd[14599]:     return profile_map[profile]
Feb 15 04:18:28 fedora tuned-ppd[14599]:            ~~~~~~~~~~~^^^^^^^^^
Feb 15 04:18:28 fedora tuned-ppd[14599]: KeyError: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Feb 15 04:18:28 fedora systemd[1]: tuned-ppd.service: Main process exited, code=exited, status=1/FAILURE
Feb 15 04:18:28 fedora systemd[1]: tuned-ppd.service: Failed with result 'exit-code'.
Feb 15 04:18:28 fedora systemd[1]: Failed to start tuned-ppd.service - PPD-to-TuneD API Translation Daemon.

But the tuned itself seems fine:

sudo systemctl status tuned
● tuned.service - Dynamic System Tuning Daemon
     Loaded: loaded (/usr/lib/systemd/system/tuned.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf, 50-keep-warm.conf
     Active: active (running) since Sat 2025-02-15 04:17:22 WIB; 25min ago
 Invocation: 4bcef23da49d43249b93113af81ca07a
       Docs: man:tuned(8)
             man:tuned.conf(5)
             man:tuned-adm(8)
   Main PID: 13892 (tuned)
      Tasks: 4 (limit: 14129)
     Memory: 15.8M (peak: 16.3M)
        CPU: 521ms
     CGroup: /system.slice/tuned.service
             └─13892 /usr/bin/python3 -Es /usr/sbin/tuned -l -P

Feb 15 04:17:22 fedora systemd[1]: Starting tuned.service - Dynamic System Tuning Daemon...
Feb 15 04:17:22 fedora systemd[1]: Started tuned.service - Dynamic System Tuning Daemon.

How to fix this?

Update: running this command fix the issue (thanks to DeepSeek R1)

echo "balanced" | sudo tee /etc/tuned/ppd_base_profile

Somehow it seems you had an invalid profile set then.

I only changed the profile once, and that was a while ago. I noticed the issue after updating the packages a few days ago via DNF offline upgrade. During troubleshooting I discovered that the ppd_base_profile file had changed itself to some random string.