Powertop systemd 服务加载失败

Powertop systemd 服务加载失败

安装 powertop 并校准后,我使用以下文本创建 systemd 服务:

[Unit]
Description=Powertop tunings

[Service]
Type=oneshot
ExecStart=/usr/bin/powertop --auto-tune

[Install]
WantedBy=multi-user.target

系统加载后我收到此日志:

nikon-laptop powertop[615]: Load 55 measurement
nikon-laptop powertop[615]: Error opening terminal: unknown.
nikon-laptop powertop[615]: Cannot load from file /var/cache/powertop/saved_parameters.powertop
nikon-laptop powertop[615]: RAPL device for cpu 0
nikon-laptop powertop[615]: RAPL device for cpu 0
nikon-laptop powertop[615]: Cannot load from file /var/cache/powertop/saved_parameters.powertop
nikon-laptop systemd[1]: powertop.service: main process exited, code=exited, status=1/FAILURE
nikon-laptop systemd[1]: Failed to start PowerTop.
nikon-laptop systemd[1]: Unit powertop.service entered failed state.
nikon-laptop systemd[1]: powertop.service failed.

并且所有调音效果都再次变差(如果我在系统加载后运行自动调音,则所有调音效果都保持良好)。如何修复它。

答案1

即使在自动调节模式下,Powertop 也需要连接 TTY。您可以使用 screen 来模拟 TTY,以便用于启动脚本,如下所示:

screen -d -m powertop --auto-tune

答案2

尝试添加以下内容:

[Service]
StandardOutput=tty
....

答案3

截至撰写本文时,该问题仍然存在于依赖于旧版本 powertop 的 CentOS/RHEL 和其他操作系统中。

我见过的最优雅的解决方法是设置:

[Service]
Type=idle
Environment="TERM=dumb"
ExecStart=/usr/sbin/powertop --auto-tune

设置哑终端将会阻止 powertop 退出。

答案4

我意识到这个问题已经过时了,而且可能已经发生了变化,但是您的 ExecStart 行是:ExecStart=/usr/bin/powertop

但是,可执行文件位于 /usr/sbin 中,而不是 /usr/bin,至少在 Ubuntu 18.10 上是这样:

$ ls /usr/bin/powertop
ls: cannot access '/usr/bin/powertop': No such file or directory

$ which powertop
/usr/sbin/powertop

相关内容