SO: Nobara Linux 41 (atualizado)
Procurei nos fóruns possíveis soluções para esse problema, mas ainda não consigo fazer funcionar.
Tenho um serviço criado pelo usuário que estou tentando executar na inicialização, mas ele não está sendo executado na inicialização. O serviço funciona bem quando executado manualmente.
Este é o serviço:
[Unit]
Description=CPU Performance Mode
[Service]
Type=oneshot
ExecStart=bash -c 'cpupower -c all frequency-set -g performance'
Restart=on-failure
[Install]
WantedBy=default.target
O objetivo deste serviço é definir os núcleos da minha CPU para o modo de desempenho com cpupower.
Ao executar
systemctl status cpuperformance.service
(o nome do serviço), obtenho:
Loaded: loaded (/etc/systemd/system/cpuperformance.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf, 50-keep-warm.conf
Active: inactive (dead) since Sun 2025-03-09 22:38:28 CDT; 12min ago
Invocation: 7c187bdfd07c49c48fd6e94ccc34a0e3
Main PID: 1442 (code=exited, status=0/SUCCESS)
Mem peak: 1.3M
CPU: 6ms
Mar 09 22:38:28 HynixPC bash[1442]: Setting cpu: 16
Mar 09 22:38:28 HynixPC bash[1442]: Setting cpu: 17
Mar 09 22:38:28 HynixPC bash[1442]: Setting cpu: 18
Mar 09 22:38:28 HynixPC bash[1442]: Setting cpu: 19
Mar 09 22:38:28 HynixPC bash[1442]: Setting cpu: 20
Mar 09 22:38:28 HynixPC bash[1442]: Setting cpu: 21
Mar 09 22:38:28 HynixPC bash[1442]: Setting cpu: 22
Mar 09 22:38:28 HynixPC bash[1442]: Setting cpu: 23
Mar 09 22:38:28 HynixPC systemd[1]: cpuperformance.service: Deactivated successfully.
Mar 09 22:38:28 HynixPC systemd[1]: Finished cpuperformance.service - CPU Performance Mode.
Parece que o serviço foi executado com sucesso na inicialização, porém se eu
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
, obtenho:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
Isso mostra que os núcleos da CPU estão usando o regulador de economia de energia e não o regulador de desempenho, como deveriam estar após a inicialização com este serviço.
Testei diferentes alvos "WantedBy", incluindo basic.target e multi-user.target. Ambos têm o mesmo problema. Toda vez que faço uma alteração no serviço, executo sudo systemctl disable cpuperformance.service
-> sudo systemctl daemon-reload
-> sudo systemctl enable cpuperformance.service
.
O resultado da ativação do serviço é: Created symlink '/etc/systemd/system/default.target.wants/cpuperformance.service' → '/etc/systemd/system/cpuperformance.service'.
Depois disso, o serviço ainda não consegue iniciar na inicialização.
Encontrei uma pista que pode mostrar por que isso não está funcionando. Executando systemctl --user list-dependencies default.target
, obtenho a seguinte saída:
default.target
○ ├─drkonqi-coredump-cleanup.service
● ├─drkonqi-sentry-postman.path
● ├─unity-gtk-module.service
● └─basic.target
● ├─systemd-tmpfiles-setup.service
● ├─paths.target
● ├─sockets.target
● │ ├─dbus.socket
● │ ├─drkonqi-coredump-launcher.socket
● │ ├─pipewire-pulse.socket
● │ └─pipewire.socket
● └─timers.target
○ ├─drkonqi-coredump-cleanup.timer
○ ├─drkonqi-sentry-postman.timer
● ├─grub-boot-success.timer
● └─systemd-tmpfiles-clean.timer
Isso mostra que meu cpuperformance.service personalizado não é desejado por default.target, o que não entendo, já que meu serviço especificamente tem isso listado.
Alguém tem alguma ideia sobre isso? Estou quebrando a cabeça com isso há horas. Qualquer ajuda é bem-vinda!