我需要一个在启动时以 sudo 权限运行的脚本,该脚本可以更改 GPU 功率限制,并在计算机开启时保持 GPU 功率限制设置。计算机完全启动后,功率限制将重置为出厂默认值。
看到这个之后,/etc
我尝试把脚本放进去rc.local
问答,它会将功率限制设置为我想要的值,但只持续大约两秒钟。如果我在启动过程中按 esc,我可以看到脚本正在设置 GPU 功率限制,但在计算机完全启动后,我打开终端并输入nvidia-smi
以查看功率上限,它们会恢复为出厂默认值,就好像我的脚本从未运行过一样。
我的脚本的内容...
#!/bin/sh -e
sudo nvidia-smi -i 0 -pl 250
sudo nvidia-smi -i 1 -pl 289
sudo nvidia-smi -i 2 -pl 244
sudo nvidia-smi -i 3 -pl 260
exit 0
我可以在启动后使用sudo ./script.sh
命令行手动运行此脚本,它会执行我想要的操作,但我需要它在我不在输入密码时自动运行。可以nvidia-smi
让它运行而无需sudo
?
systemd
我也尝试使用接受的答案运行脚本这里,但没有效果。
Unit]
Description=Spark service
[Service]
ExecStart=/path/to/spark/all.sh
[Install]
WantedBy=multi-user.target
chmod u+x /path/to/all.sh
Start it:
sudo systemctl start myfirst
Enable it to run at boot:
sudo systemctl enable myfirst
我确信这也是在运行脚本,因为我在脚本中设置了 20 秒的睡眠时间,并且启动需要额外 20 秒,但同样,计算机启动时没有改变任何功率限制。