ビデオメモリサイズを確認する方法は?


61

ビデオメモリのサイズを確認する方法はありますか?具体的には、統合GPUとPCI / AGPグラフィックスカードの両方で正確に機能するものはありますか?

多くの統合GPUにはメモリが動的に割り当てられているため、このソリューションは、利用可能な最大ビデオメモリまたは現在割り当てられている量のいずれかを返します。スタンドアロンのNVidiaまたはATIカードの場合、明らかに物理GPU RAMの合計量が返されます。

lspci -vメモリの数値を出力しますが、ビデオメモリだとは思いません。報告されている数値は、システムメモリの割り当て、ブロックまたはチャネルのサイズであると思われますが、確実にはわかりません。これらのテスト結果で、6つのテストのうち5つでlspciが間違っていたことがわかります。

** ASUS EN210 PCIe - 1024 Mb *** 

01:00.0 VGA compatible controller: nVidia Corporation GT218 [GeForce 210] (rev a2)
        Subsystem: ASUSTeK Computer Inc. Device 8354
        Memory at e3000000 (32-bit, non-prefetchable) [size=16M]
        Memory at d0000000 (64-bit, prefetchable) [size=256M]
        Memory at e0000000 (64-bit, prefetchable) [size=32M]

*** Galaxy 8400GS PCIe - 512 Mb *** 

01:00.0 VGA compatible controller: nVidia Corporation G98 [GeForce 8400 GS] (rev a1)
    Subsystem: nVidia Corporation Device 05cc
    Region 0: Memory at e4000000 (32-bit, non-prefetchable) [size=16M]
    Region 1: Memory at d0000000 (64-bit, prefetchable) [size=256M]
    Region 3: Memory at e2000000 (64-bit, non-prefetchable) [size=32M]

*** VirtualBox VM - 10 Mb (headless server) *** 

00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
        Memory at e0000000 (32-bit, prefetchable) [size=16M]

*** VirtualBox VM - 128 Mb *** 

00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter (prog-if 00 [VGA Controller])
        Memory at e0000000 (32-bit, prefetchable) [size=128M]

*** S3 Savage 4 AGP - unknown Mb (old lspci log), but I don't think they made these cards with 128Mb memory! *** 

00:01.0 VGA compatible controller: S3 Inc. Savage 4 (rev 06) (prog-if 00 [VGA controller])
    Subsystem: IBM Unknown device 01c5
    Region 0: Memory at feb80000 (32-bit, non-prefetchable) [size=512K]
    Region 1: Memory at f0000000 (32-bit, prefetchable) [size=128M]

*** NVIDIA Quadro FX 1800 integrated - 1024 Mb *** 

01:00.0 VGA compatible controller: nVidia Corporation GT215 [Quadro FX 1800M] (rev a2) (prog-if 00 [VGA controller])
    Subsystem: Dell Device 040c
    Memory at e2000000 (32-bit, non-prefetchable) [size=16M]
    Memory at d0000000 (64-bit, prefetchable) [size=256M]
    Memory at e0000000 (64-bit, prefetchable) [size=32M]

あなたはそれが数字だと信じていないので、あなたはそれを示唆する答えを受け入れませんか?
RolandiXor

5
@Roland、おそらく私の言い回しが間違っています。私はlspci出力に関する専門家ではありませんが、テスト結果のリンクを見るとわかるように、ビデオメモリの合計サイズを示していないため、質問に答えていません。
drgrog

回答:


28

これは、ATI 6370HDディスクリート1Gグラフィックカードを使用したdmesgのo / pです。「検出されたVRAM RAM = 1024M、BAR = 256M」、この行を確認します。

sourajit@sourajit:~$ sudo dmesg | grep drm
[    6.126816] [drm] Initialized drm 1.1.0 20060810
[    6.541907] [drm] radeon defaulting to kernel modesetting.
[    6.541910] [drm] radeon kernel modesetting enabled.
[    6.542102] [drm] initializing kernel modesetting (CEDAR 0x1002:0x68E4 0x17AA:0x397A).
[    6.542142] [drm] register mmio base: 0xE0600000
[    6.542143] [drm] register mmio size: 131072
[    7.406572] [drm] Detected VRAM RAM=1024M, BAR=256M
[    7.406576] [drm] RAM width 64bits DDR
[    7.406654] [drm] radeon: 1024M of VRAM memory ready
[    7.406655] [drm] radeon: 512M of GTT memory ready.

4
これは私のために働くことになった1、わずかな微調整だけをdmesgの詳細をフィルタリングすることである:dmesg | grep VRAM
ロン・E

2
インテルi5統合グラフィックス(共有メモリなど)でMemory usable by graphics device = 2048M他のすべてが言うときに混乱し256Mます。EDIT:ちょうど読んaskubuntu.com/a/475405/178596
Wilf

15

nvidia-settingsは、独自のnvidiaドライバーを使用するカードに対してこれを行います。それは不正確かもしれませんが、私の特定のカードには正しいです。ビデオドライバーを具体的に照会する他のユーザー空間ツールは知りません。

試すこともできますがsudo lshw -class display、lspciよりも正確であることを保証することはできません。また、量ではなくメモリ範囲を報告するため、いくつかの計算を行う必要があります。

grep -i memory /var/log/Xorg.0.logシステムのカードのVRAM を正しく報告していることがわかりました。Radeon Mobilityデバイスが統合されたドライバーを使用するラップトップでは機能しませradeon


ありがとう、しかしnvidia-settingsはカード固有です。そして、はい、とlshw同じシステムメモリリソースを報告すると信じlspciています。lshwがサイズではなくアドレス範囲として報告します。
drgrog

3
私はこれに答える前に、フォロニクスをチェックすることを考えるべきだった。ご指摘のとおり、私のシステムでは、768MB G80ビデオカードはlspciで256MBと報告されています。フォーラムの人々は、これは実際にはPCIバスで見える開口であり、理にかなっていると言っています。「dmesg | grep VGA」を実行すると、システムで同じ問題が発生しますが、他のシステムでは正常に機能すると聞きました。メモリは/var/log/Xorg.0.logで正しく報告されます: 'NVIDIA(0):メモリ:786432 kBytes'。このフォーラム投稿から:phoronix.com/forums/…
koanhead

1
独自のスクリプトを作成する必要があるようです。これまでのところ、grep kB /var/log/Xorg.0.logまたはgrep -i mem /var/log/Xorg.0.logNVIDIAカードとVirtualBox VMの最も正確で実行可能なデータを教えてください。テストするATIカードがなく、統合されたIntelカードまたはVMware VMをテストすることもできません。
drgrog

1
fglrx:grep kByteは、次のような結果になります:Video RAM: 1048576 kByte, Type: GDDR5、kBだけをgreppingすると、いくつかのVESAアイテムも表示されます。
taneli

xserver-xorg-video-ati:grep "mem size"次のような結果になります。RADEON(0): mem size init: gart size :1fdff000 vram size: s:40000000 visible:f6f6000これは、メモリサイズが16進数になった後、そこから抜け出すことができる最良の方法です。s:
taneli11年

13
LC_ALL=C lspci -v | grep -EA10 "3D|VGA" | grep 'prefetchable' 

私のシステム出力

Memory at d0000000 (64-bit, non-prefetchable) [size=4M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]

つまり、統合ビデオカード専用の256 MBのメモリがあります。

更新:ただし、Intel HD Graphicsカードのいずれかを使用する場合は注意してください。そのメモリは通常、システムのメインRAMと共有され、動的です。つまり、必要に応じて増減します。私のシステムでは、後で最大1.7 GBまで拡張できることを発見しました。この値は、RAMが4.0 GBのシステムの場合に標準のようです(私の場合)。このようなグラフィックカードを使用する場合、上記の出力はあまり役に立ちません。


2
sudo dmesg | grep drm最初の答えのように実行することで、どれくらいの量を見つけることができるかもしれません-私は2048Mを手に入れました。
ウィルフ

1
メインメモリと共有するグラフィックスカードの場合、のようなものによって公開されたこのメモリ使用であるtopか、freeまたはそれはOSには見えませんか?共有IGPがどのくらいのRAMを使用しているかを知るにはどうすればよいですか?
CMCDragonkai

5

これを試すことができます:

echo $"VRAM: "$(($(grep -P -o -i "(?<=memory:).*(?=kbytes)" /var/log/Xorg.0.log) / 1024))$" Mb"

または、上記のコマンドが失敗した場合:

echo $(dmesg | grep -o -P -i "(?<=vram:).*(?=M 0x)")$" Mb"

何も新しいことはありません-他の投稿を見て、より良いフォーマットの出力のためにパターンマッチングを追加しました。


Ubuntu 14.04 Asus G551JMノートブック(デュアルグラフィックス、GeForce GTX 860Mを含む)では両方とも機能しません
Adam Ryczkowski

1
最初のコマンドはエラーを返しますbash: / 1024: syntax error: operand expected (error token is "/ 1024")
Adam Ryczkowski

これは、コマンドラインから私のために働いた唯一のソリューションです!
パナヨティス

2番目のコマンドは、ビデオRAMの正確なサイズを返します
Mudit Kapil

1

ソフトウェアセンター利用可能なhardinfoと呼ばれるプログラムがあり、各ビデオカード(PCIデバイスカテゴリの[デバイス]ドロップダウンの下)およびメモリとベンダー/モデルを含む各カードの仕様をリストします。


1
Nathanに感謝しますが、hardinfoはlshwやlspciなどから得られた情報のGUIフロントエンドに過ぎません。これは以前に提案されたことを覚えていますが、著者によって回答が削除されたようです。
drgrog

hardinfoはクールですが、GPUメモリには通知しません。
アダムリツコフスキ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.