저는 보통 가상 머신에 연결하는 Geforce GTX 960과 Quadro M4000 그래픽 카드로 시스템을 구축했습니다. GTX 960 카드는 콘솔 전용입니다.
일반적으로 호스트는 커널 드라이버가 Quadro 카드 vfio-pci
사용을 금지하기 때문에 Quadro 카드를 사용할 수 없습니다. 그러나 가상 머신에서 이를 사용하지 않을 때는 예를 들어 계산을 수행하기 위해 호스트 머신에서 액세스할 수 있기를 원합니다.
nvidia-setttings
그런데 전력 소비와 팬 속도에 매우 이상한 동작이 있습니다. 계속 켜두지 않고도 전력 소비와 팬 속도를 어떻게 줄일 수 있습니까?
내 메모에서:
호스트에서 통과 준비 장치 재사용
게스트에게 전달할 준비가 된 호스트에서 보조 그래픽 카드를 사용해야 한다고 가정합니다. 잘못된 드라이버가 로드되어 장치가 콘솔에서 작동하지 않는 경우가 많습니다. 여기에서는 Quadro M4000이 이미 vfio-pci
드라이버를 사용하고 있지만 nvidia
이 드라이버를 사용해야 합니다.
sudo lspci -nnk | egrep -A3 "VGA|Display|3D"
# 0b:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
# Subsystem: Gigabyte Technology Co., Ltd Device [1458:36ac]
# Kernel driver in use: nvidia
# Kernel modules: nouveau, nvidia_drm, nvidia
# --
# 0c:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204GL [Quadro M4000] [10de:13f1] (rev a1)
# Subsystem: Hewlett-Packard Company Device [103c:1153]
# Kernel driver in use: vfio-pci
# Kernel modules: nouveau, nvidia_drm, nvidia
드라이버를 제거 vfio-pci
하고 장치 상태를 다시 확인하십시오. 커널 드라이버를 사용하면 안 되므로 줄이 Kernel driver in use: ...
사라집니다.
sudo modprobe -r vfio-pci
sudo lspci -nnk | egrep -A3 "VGA|Display|3D"
# 0b:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
# Subsystem: Gigabyte Technology Co., Ltd Device [1458:36ac]
# Kernel driver in use: nvidia
# Kernel modules: nouveau, nvidia_drm, nvidia
# --
# 0c:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204GL [Quadro M4000] [10de:13f1] (rev a1)
# Subsystem: Hewlett-Packard Company Device [103c:1153]
# Kernel modules: nouveau, nvidia_drm, nvidia
# 0c:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio Controller [10de:0fbb] (rev a1)
또한 nvidia 드라이버 도구의 출력을 확인하십시오 nvidia-smi
. 하나의 그래픽 카드(실패한 GTX 960)만 나열되어야 합니다.
sudo nvidia-smi
# Tue Sep 28 18:19:36 2021
# +-----------------------------------------------------------------------------+
# | NVIDIA-SMI 470.74 Driver Version: 470.74 CUDA Version: 11.4 |
# |-------------------------------+----------------------+----------------------+
# | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
# | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
# | | | MIG M. |
# |===============================+======================+======================|
# | 0 NVIDIA GeForce ... Off | 00000000:0B:00.0 On | N/A |
# | 0% 51C P8 19W / 160W | 477MiB / 4040MiB | 0% Default |
# | | | N/A |
# +-------------------------------+----------------------+----------------------+
# ...
시스템에서 연결된 모든 PCI 장치를 제거합니다. 이 경우에는 0c:00.0
및 입니다 0c:00.1
. 그런 다음 실제로 사라졌는지 확인하세요.
echo 1 | sudo tee /sys/bus/pci/devices/0000\:0c\:00.0/remove
echo 1 | sudo tee /sys/bus/pci/devices/0000\:0c\:00.1/remove
sudo ls /sys/bus/pci/devices/ | grep 0c:00.
# nothing...
그런 다음 PCI 장치에서 작동하도록 rescan
하고 장치가 존재하고 다시 활성화되었는지 확인하십시오. 또한 어떤 커널 드라이버가 사용되고 있는지, nvidia-smi
어떤 내용이 명시되어 있는지 확인하세요.
echo 1 | sudo tee /sys/bus/pci/rescan
sudo ls /sys/bus/pci/devices/ | grep 0c:00.
sudo cat /sys/bus/pci/devices/0000\:0c\:00.?/enable
# 1
# 1
sudo lspci -nnk | egrep -A3 "VGA|Display|3D"
# 0b:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
# Subsystem: Gigabyte Technology Co., Ltd Device [1458:36ac]
# Kernel driver in use: nvidia
# Kernel modules: nouveau, nvidia_drm, nvidia
# --
# 0c:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204GL [Quadro M4000] [10de:13f1] (rev a1)
# Subsystem: Hewlett-Packard Company Device [103c:1153]
# Kernel driver in use: nvidia # <-- here!
# Kernel modules: nouveau, nvidia_drm, nvidia
sudo nvidia-smi
# Tue Sep 28 18:26:16 2021
# +-----------------------------------------------------------------------------+
# | NVIDIA-SMI 470.74 Driver Version: 470.74 CUDA Version: 11.4 |
# |-------------------------------+----------------------+----------------------+
# | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
# | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
# | | | MIG M. |
# |===============================+======================+======================|
# | 0 NVIDIA GeForce ... Off | 00000000:0B:00.0 On | N/A |
# | 0% 47C P8 19W / 160W | 479MiB / 4040MiB | 0% Default |
# | | | N/A |
# +-------------------------------+----------------------+----------------------+
# | 1 Quadro M4000 Off | 00000000:0C:00.0 Off | N/A |
# | 45% 37C P0 42W / 120W | 0MiB / 8127MiB | 2% Default |
# | | | N/A |
# +-------------------------------+----------------------+----------------------+
# ...
흥미롭게도 Quadro M4000은 완전 무부하 상태에서 약 42와트를 소비합니다. 드라이버 문제로 인한거 같은데..
하지만nvidia-settings
, 그래픽 프로그램이 로드된 경우 전원 요구 사항떨어지다아마도12와트.
# Terminal A
watch -d -n 1 sudo nvidia-smi
# Terminal B
nvidia-settings
nvidia-smi
마법이 일어나는 동안 팬 소음을 보고 들어보세요...
watch -d -n 1 sudo nvidia-smi
# ...
# +-------------------------------+----------------------+----------------------+
# | 1 Quadro M4000 Off | 00000000:0C:00.0 Off | N/A |
# | 46% 38C P0 10W / 120W | 0MiB / 8127MiB | 0% Default |
# | | | N/A |
# +-------------------------------+----------------------+----------------------+
# ...