Linux,Unix,BSD

Ubuntu에서 Nvidia GPU의 메모리를 온전히 다 사용해보자!

채윤아빠 2021. 3. 9. 21:28
728x90
반응형

Intel 기반 메인보드에서 Nvidia GPU를 장착하여 사용하면 "nvidia-smi" 명령을 이용하여 GPU의 현황을 모두 알 수 있습니다.

이번에 알아볼 내용은 Intel 메인 보드에 내장된 GPU를 Xorg 등의 기본으로 이용하고 Nvidia의 GPU 메모리는 인공지능 연산 및 채굴 등으로 모두 이용할 수 있는 방법에 대하여 알아 보겠습니다.

제가 사용하던 환경에서는 아래와 같이 "Xorg" 및 "compiz" 등으로 150MB가 넘는 용량을 사용하고 있습니다.

# nvidia-smi


+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       911      G   /usr/lib/xorg/Xorg                            72MiB |
|    0      1598      G   compiz                                       100MiB |
+-----------------------------------------------------------------------------+

X window 가 nvidia GPU를 사용하지 않고, Intel 내장 HD610 GPU를 이용하도록 다음과 같이 설정하면, GPU의 메모리를 온전하게 모두 이용할 수 있습니다. (채굴 또는 인공지능 연산용)

아래는 Intel 메인보드에 Nvidia GPU를 장착된 상태의 기본 "/etc/X11/xorg.conf"의 내용입니다.

# sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.old
# sudo vi /etc/X11/xorg.conf

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0@0:2:0"
    Option "AccelMethod" "None"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1@0:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

Nvidia GPU의 메모리를 모두 사용하기 위하여, 위 설정 중에서 첫 번째 "Section"의 intel과 nvidia 설정을 변경 다음과 같이 적용 합니다.

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "intel"
    Inactive "nvidia"
EndSection

위 설정을 적용 후, 시스템을 재부팅해 보면 아래와 같이 nvidia GPU의 메모리가 깨끗해집니다.

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+