web-dev-qa-db-ja.com

プラグインされたPCI-eグラフィックカードをOSレベルで無効にする方法は?

VGAに接続された画面でサーバーにアクセスできるようにしたいサーバーを実行しています(ほとんどの場合、SSH経由でアクセスされます)。したがって、PCI-eグラフィックカードを接続し、VGAケーブルを取り外しました。グラフィックカードは受動的に冷却され、ケースを開いて涼しい体に触れると、顕著な暖かさを感じ、エネルギーを消費していると結論付けることができます(熱エネルギーを伝達できる消費者は近くにいません)。

カードを抜いた場合( 未使用のグラフィックカードを無効にする必要がありますか? )、画面を接続するたびにカードを組み込む必要があります。それとエネルギー消費を避けたいと思います。

非アクティブ化と再アクティブ化は、OSレベルで(たとえばSSHを介して)実行する必要があります。それ以外の場合は、UEFIを構成する画面(またはそれを盲目的に実行する方法はありません)が必要であり、鶏卵に実行する必要があるためです。問題。

Linux 4.0.2でUbuntu 15.04を使用しています。グラフィックカードにはXFXHD 5450 850Mというラベルが付いており、VGA、HDMI、およびD-SUBコネクタが付いています。メインボードはASRockX99-Extremeで、グラフィックは統合されていません。

編集:Sudo lspci -vにリストされている使用済みモジュールをブラックリストに登録した後(以下の@WhimsicalWombatの有望な回答に従って)(私の場合、modprobe.blacklist=module_to_blacklistカーネルパラメーターを使用する必要がありました- https://askubuntu.com/questions/110341/を参照してください詳細については、how-to-blacklist-kernel-modules -radeonおよびsnd_hda_intelの場合)PCIeグラフィックカードはまだ加熱されます(パッシブクーラーは60度を超え、近くに熱源はありません)。デバイスのlspci -vにモジュールがリストされていません。デバイスのlspci -vの出力は

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series] (prog-if 00 [VGA controll
er])
        Subsystem: XFX Pine Group Inc. Device 303e
        Physical Slot: 4
        Flags: bus master, fast devsel, latency 0, IRQ 11
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at fbe20000 (64-bit, non-prefetchable) [size=128K]
        I/O ports at e000 [size=256]
        Expansion ROM at fbe00000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting

01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cedar HDMI Audio [Radeon HD 5400/6300 Series]
        Subsystem: XFX Pine Group Inc. Device aa68
        Physical Slot: 4
        Flags: bus master, fast devsel, latency 0, IRQ 10
        Memory at fbe40000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting

編集2: https://askubuntu.com/a/138953/173287echo 0 > /sys/bus/pci/slots/$N/powerを実行することを提案し、私は/sys/bus/pci/slots/$Nを持っています。ここで$Nlspci -vにリストされているスロットの番号ですが、 powerファイルがありません。

編集3:/sys/bus/pci/devices/[device]/modaliasのモデリアをmodprobe.blacklist=カーネルパラメータに追加しても、 http://kernel.ubuntu.com/~kernel-ppa/mainline/ のUbuntuメインラインカーネルには影響しませんmake localmodconfigを使用したカスタム4.0.5ビルドとすべてのPCIオプションのアクティブ化により、グラフィックカードがまだ加熱されている間、[Loading initramfs [version]]画面が表示されたままになります。

4
Karl Richter

最も簡単な方法は、カーネルモジュールをブラックリストに登録してアンロードすることです。最初にSudo lspci |egrep -i (vga|video)でバス番号をチェックアウトし、01:00.0のような番号の最初のフィールドに注目すると、現在のモジュールであることがわかります。次に、_Sudo lspci -vs 01:00 |grep modules_は使用中のモジュールを表示します。 HDMI対応デバイスの場合、通常、HDMIオーディオデバイスである01:00.1のようなサブデバイスがあります。それもブラックリストに載せてください。

これらの/etc/modprobe.d/blacklistまたはblacklist.confの両方の前にblacklistコマンドを追加します。たとえば、「ブラックリストradeon」や「ブラックリスト「snd-hda-intel」」などです。

デバイスを使用する場合は、Sudo modprobe [モジュール名]を使用して有効化できます。

それだけでは不十分な場合、または実際に使用するGPU(統合アダプターまたは2番目のアダプター)に同じモジュールを使用する場合は、無効にするモジュールをpci-stubドライバーにバインドします。これを行う最良の方法は、ブート時のカーネルコマンドラインからです。 _pcistub="pci-stub.ids=..."_を追加し、その後にlcpci -nns (your bus number from above)で見つけることができるvendorID:deviceIDコードを追加するだけです__pcistub="pci-stub.ids=1002:6718,1002:aa80"_

Pcistubにバインドした後で使用したい場合は、sysfsを介してバインドを解除し、選択したドライバーに再バインドするか、コマンドラインなしで(より簡単に)再起動して起動できます。

モジュールの自動ロードを無効にするだけで十分な場合は、最初に試してみます。

編集:

ブラックリストに登録すると、カーネルが次に利用可能なドライバーを試す可能性があります。もしそうなら、あなたがそれを必要としない限り、あなたもそれをブラックリストに載せることができます。すぐに互換性のあるドライバーが不足し、デバイスはドライバーなしのままになり、電源がオフ(または少なくともロー)になります。

カーネルドライバを使用していなくても熱くなる場合は、投稿を更新してください。それを聞いてとても興味があります。

4
WhimsicalWombat