"vfio-pci"를 제거하고 "nvidial"을 다시 연결할 때 Quadro 카드의 이상한 전력 소비 동작

"vfio-pci"를 제거하고 "nvidial"을 다시 연결할 때 Quadro 카드의 이상한 전력 소비 동작

저는 보통 가상 머신에 연결하는 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 |
  # +-------------------------------+----------------------+----------------------+
  # ...

무엇보다도 nvidia-settings내 Quadro 카드가 목록에도 없습니다... NVIDIA 설정에 Quadro 카드가 없습니다.

관련 정보