[Unraid] 不直通独显将N卡直接传递给虚拟机使用并设置虚拟机关机时降低显卡功耗
创作立场:小白第一次发文,或许格式排版什么的有不当的地方,请包含。记录一次搞机历程,别来说x99当nas功耗太高了,这不是这篇文要讨论的。仅表示存在这样一种操作可能,或许会有需要的人。如果能达到抛砖引玉的效果,那本人不胜欣喜。
折腾由来:最近把双路x99物理机装上了unraid,想着如果能够把显卡传递给虚拟机,用来玩玩游戏什么的就好了。可是在我跟着站内大佬们直通独显的教程帖一番操作以后发现,显卡是能直通了,但虚拟机关机以后,由于没有系统接管,显卡一直在P0性能状态运行,空载功耗达到了31w,这就有点难顶了。后来自己捣鼓,没想到成了。接下来说一下大概的步骤。
前置步骤:
①进入Windows系统,用GPU-Z把显卡的VGA Bios提取出来,并将其放置Unraid能读取的目录中(建议放ISOS文件夹)。方法有很多,比如放硬盘里然后unraid挂载这块硬盘,或者用u盘当中介。
②重启进入unraid,保持显卡不处于直通状态。在应用商店安装好 Nvidia Driver和Gpu Statistics两个插件,并在Nvidia Driver里面安装好对应的驱动,一般用最新的即可。这个时候就能在仪表台看到显卡的信息了。
③打开unraid的终端,输入nvidia-smi --persistence-mode=1 这条命令将关闭显卡的持续模式,根据负载自动降频。其实我也说不清楚,因为我也是在网上刚学的。不过具体效果表现为显卡风扇声音小了,仪表台处功率也降下来了。
④接下来是重中之重。
打开主界面→flash→在unraid os启动项中添加如下代码:
video=efifb:off
注意要加在append和initrd=/bzroot之间,前后都有空格不要忘了!!
然后保存,重启unraid
这条指令是我在站内大佬@埃罗芒阿老师a 处学来的,请大家支持原文: nas 篇一:unraid折腾之win10直通“唯一”独立显卡
接下来就可以设置虚拟机了,其他项就不多说了,重点是:
首先不要选择独显,用VNC装完系统以后,开启远程桌面方便管理,之后再挂载上显卡,Rom Bios就选择之前提取出来的bios的存放位置。这样不出意外的话,显卡就挂上去了,进入系统以后,推荐使用360驱动大师这类小白软件来安装驱动,大佬请无视。
虚拟机关机以后,unraid还是能接管显卡的,要降低功耗也很简单,在终端再执行一下那条命令就可以了。(user scrip是个好东西,我的思路是自定义规则,根据虚拟机开机与否来决定是否降频。可是我啥也不会,请大佬不吝赐教)
通过这种方式使用显卡是否会有性能损耗还没有测试,后期如果测试了我会补充说明,欢迎大家在评论区交流。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
小白玩nas
校验提示文案
没啥事没烦我
校验提示文案
Jaie-Peng
校验提示文案
usee00123
校验提示文案
keyon_cc
校验提示文案
不愿透露姓名的吉姆
校验提示文案
值友4484157419
校验提示文案
值友9899644404
校验提示文案
Techeek
# 获取虚拟机的名称
vm_name=Win11
# 检查虚拟机是否存在
if [ -z "$(virsh list --all | grep $vm_name)" ]; then
echo "虚拟机 $vm_name 不存在"
exit 1
fi
# 检查虚拟机是否关机
if [ -z "$(virsh list --state-shutoff | grep $vm_name)" ]; then
echo "虚拟机 $vm_name 没有关机"
exit 0
fi
# 如果虚拟机关机,执行nvidia-smi --persistence-mode=1
echo "虚拟机 $vm_name 已经关机,执行nvidia-smi --persistence-mode=1"
nvidia-smi --persistence-mode=1
用我这个命令,vm_name=Win11 这行替换为你需要关机的虚拟机,然后设置定时循环运行就行。
校验提示文案
风华耀世
校验提示文案
值友1786883887
校验提示文案
值友1786883887
校验提示文案
Techeek
# 获取虚拟机的名称
vm_name=Win11
# 检查虚拟机是否存在
if [ -z "$(virsh list --all | grep $vm_name)" ]; then
echo "虚拟机 $vm_name 不存在"
exit 1
fi
# 检查虚拟机是否关机
if [ -z "$(virsh list --state-shutoff | grep $vm_name)" ]; then
echo "虚拟机 $vm_name 没有关机"
exit 0
fi
# 如果虚拟机关机,执行nvidia-smi --persistence-mode=1
echo "虚拟机 $vm_name 已经关机,执行nvidia-smi --persistence-mode=1"
nvidia-smi --persistence-mode=1
用我这个命令,vm_name=Win11 这行替换为你需要关机的虚拟机,然后设置定时循环运行就行。
校验提示文案
值友9899644404
校验提示文案
风华耀世
校验提示文案
值友4484157419
校验提示文案
不愿透露姓名的吉姆
校验提示文案
keyon_cc
校验提示文案
usee00123
校验提示文案
Jaie-Peng
校验提示文案
小白玩nas
校验提示文案
没啥事没烦我
校验提示文案