web-dev-qa-db-ja.com

画面のないNVIDIAカード上のXサーバー

NVIDIAグラフィックカードがインストールされたサーバーでXサーバーを実行する必要があるというかなり独特な状況がありますが、サーバーはモニターのないラックにあります。 Xを実行する理由は、Qtを使用するプログラムで操作をレンダリングするためです。 CPUではなくGPUレンダリングを使用することで、効率に大きなメリットがあります。 i startxの場合は常に、画面が接続されていないため、Xは起動に失敗します。偽のモニターでxを起動する最良の方法は何ですか? OSはRHEL6です

3

これが'最良の方法'かどうかはわかりませんが、それが私のやり方です。

Nvidia-settings GUIを使用して、画面のedidファイルを作成します

次に、選択した端末に貼り付けるか、書き込みます:

Sudo nvidia-xconfig -a --allow-empty-initial-configuration \
--use-display-device="DFP-0" --connected-monitor="DFP-0" \
--custom-edid="DFP-0:/home/$USER/edid.txt" 

Sudo reboot

GPUと画面をxorg.confに追加します。

ファンもオーバークロックして制御できるようにしたい場合は、「-cool-bits = 12」(またはNVIDIAのドキュメントに記載されているものはすべてドライバーに適用可能)を「nvidia-xconfig」行に追加します。上。

Edidファイルを作成する方法がない場合、またはここでファイルが見つからない場合は、次の方法を使用します。

00 ff ff ff ff ff ff 00 1e 6d f5 56 71 ca 04 00 05 14 01 03 80 35 1e 78 0a ae c5 a2 57 4a 9c 25 12 50 54 21 08 00 b3 00 81 80 81 40 01 01 01 01 01 01 01 01 01 01 1a 36 80 a0 70 38 1f 40 30 20 35 00 13 2b 21 00 00 1a 02 3a 80 18 71 38 2d 40 58 2c 45 00 13 2b 21 00 00 1e 00 00 00 fd 00 38 3d 1e 53 0f 00 0a 20 20 20 20 20 20 00 00 00 fc 00 57 32 34 35 33 0a 20 20 20 20 20 20 20 01 3d 02 03 21 f1 4e 90 04 03 01 14 12 05 1f 10 13 00 00 00 00 23 09 07 07 83 01 00 00 65 03 0c 00 10 00 02 3a 80 18 71 38 2d 40 58 2c 45 00 13 2b 21 00 00 1e 01 1d 80 18 71 1c 16 20 58 2c 25 00 13 2b 21 00 00 9e 01 1d 00 72 51 d0 1e 20 6e 28 55 00 13 2b 21 00 00 1e 8c 0a d0 8a 20 e0 2d 10 10 3e 96 00 13 2b 21 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 26

ユーザーのホームディレクトリのedid.txtに保存するか、構成行の場所を変更します。

オーバークロックを有効にし、メインGPUで画面を使用する場合:

Sudo nano /etc/X11/xorg.conf

行を削除:

Option         "UseDisplayDevice" "DFP-0"
Option         "CustomEDID" "DFP-0:/home/nv/edid.bin"
Option         "ConnectedMonitor" "DFP-0"

画面が接続され、割り当てられたGPUIDを持つ「セクション "画面"」から.

オーバークロック!

電力制限:

Sudo nvidia-smi -i GPUID -pl WATTLIMIT

コアクロック:

nvidia-settings -c :0 -a [gpu:GPUID]/GPUGraphicsClockOffset[3]=16

:0はGPUに割り当てられたX画面であり、GPUIDは推測されたGPUの数です(0から数えます)。

16 ==オフセット。

アンダークロックするには負の数を使用します。

メモリクロック:

nvidia-settings -c :0 -a [gpu:GPUID]/GPUMemoryTransferRateOffset[3]=1200

アフターバーナーなどに慣れている場合は、Linux(年頃)でオフセット値を2倍にする必要があります。

Linuxシステムでは常にカードからより多くのジュースを得る(私の使用

ファンを手動で有効にして制御する:

nvidia-settings -c :0 -a [gpu:GPUID]/GPUFanControlState=1
nvidia-settings -c :0 -a [fan:GPUID]/GPUTargetFanSpeed=85

手動制御を無効にするには、GPUFanControlStateを0に戻します。

GPUTargetFanSpeedは、0から100までの整数を入力として受け取ります。

温度、電力使用量などを確認してください:

nvidia-smi

プロセスがGPUによって低電力状態でロックされた場合、私が見つけた唯一の回避策はアプリケーションプロファイルを作成することであり、P状態を制御する方法はありませんでした。少なくとも消費者向けカードでは。

プロセスは次のとおりです:

cd ~/.nv
cat > nvidia-application-profiles-rc

このテンプレートを貼り付けます:

{
"rules": [
    {
        "pattern": {
            "feature": "procname",
            "matches": "NameOfRunningProcessThatWantsMorePriority"
        },
        "profile": "ProfileNameWhatever"
    }
],
"profiles": [
    {
        "name": "ProfileNameWhatever",
        "settings": []
    }
]
}

好みに合わせて編集する前に、Enterキーを押してからCTRL + Cを押します。

プロセスを開始し、nvidia-smiと入力して、アプリケーションプロファイルで使用するプロセス名を取得します。

または、GUIにアクセスできる場合は、そこでアプリケーションプロファイルを作成できます。

再起動後もカスタム電力制限を維持するには、「永続モード」を有効にする必要があります。

すべてのGPUで有効にするには:

Sudo nvidia-smi -pm 1

特定のGPUで有効にするには:

Sudo nvidia-smi -i GPUID -pm 1

GPUはジョブ間でスリープ状態にならないため、永続モードは、ヘッドレスで実行し、いくつかの小さなプロセスを次々に実行する場合に速度を向上させます。これにより、多くの小さなタスクを処理する時間が大幅に短縮されます。
アクティブ化するとアイドル消費量が増加します!

lightdmを使用する場合の追加情報!!
通常の方法では、新しいUbuntuシステムで問題が発生します

他のすべての実際の構成と同様に、rootアカウントまたはSudoを使用します

ファンコントロール:

# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [gpu:GPUID]/GPUFanControlState=1
# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [fan:GPUID]/GPUTargetFanSpeed=70

Over/underclock:

# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [gpu:GPUID]/GPUGraphicsClockOffset[3]=64
# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [gpu:GPUID]/GPUMemoryTransferRateOffset[3]=1100

#== root、またはSudo

すべてが実行されている(または実行されていない)ときに問題が発生した場合、NVIDIAはトラブルシューティングのためにいくつかの素晴らしいクエリを投稿しました:

便利なnvidia-smiクエリ

その他;

NVIDIAでのArchLinux Wikiのヒントとコツ

xconfig付録NVIDIAドライバー384.98

URLのドライバーバージョンをドライバーバージョンに変更するだけで、正しい方向に進むことができます。

6
anders