安装 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