Làm thế nào để kiểm tra kích thước bộ nhớ video?


61

Có cách nào để kiểm tra kích thước của bộ nhớ video không? Cụ thể, có cái nào hoạt động chính xác cho cả card đồ họa tích hợp của GPU cũng như PCI / AGP không?

Nhiều GPU tích hợp có bộ nhớ được phân bổ động, do đó, giải pháp hy vọng sẽ trả lại bộ nhớ video khả dụng tối đa hoặc số lượng hiện được phân bổ. Đối với thẻ NVidia hoặc ATI độc lập, rõ ràng nó sẽ trả lại tổng số RAM GPU vật lý.

lspci -vkhông xuất số liệu bộ nhớ, nhưng tôi không tin đó là bộ nhớ video. Tôi nghi ngờ con số được báo cáo là một số cấp phát bộ nhớ hệ thống hoặc khối hoặc kích thước kênh, nhưng tôi không biết chắc chắn. Bạn có thể thấy trong các kết quả kiểm tra này , lspci đã sai ở 5 trong số 6 bài kiểm tra:

** 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]

Vì vậy, vì bạn không tin đó là con số, bạn không chấp nhận câu trả lời gợi ý nó?
RolandiXor

5
@Roland, có lẽ từ ngữ của tôi là sai. Tôi không phải là chuyên gia về đầu ra lspci, nhưng như bạn có thể thấy trong liên kết kết quả kiểm tra, nó không đưa ra tổng kích thước của bộ nhớ video và do đó không trả lời câu hỏi.
drgrog

Câu trả lời:


28

Đây là o / p của dmesg với card đồ họa 1G rời ATI 6370HD. "Đã phát hiện RAM VRAM = 1024M, BAR = 256M", hãy kiểm tra dòng này.

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
Đây là cái cuối cùng làm việc cho tôi, một chút tinh chỉnh chỉ để lọc thêm dmesg:dmesg | grep VRAM
Ron E

2
bối rối Memory usable by graphics device = 2048Mkhi mọi thứ khác nói 256Mtrên đồ họa tích hợp intel i5 của tôi (có thể là bộ nhớ dùng chung hoặc thứ gì đó). EDIT: chỉ cần đọc Askubfox.com/a/485405/178596
Wilf

15

nvidia-settings thực hiện điều này cho các thẻ sử dụng nvidiatrình điều khiển độc quyền . Nó có thể không chính xác nhưng nó là chính xác cho thẻ cụ thể của tôi. Tôi không biết bất kỳ công cụ không gian người dùng nào khác truy vấn cụ thể trình điều khiển video.

Bạn cũng có thể thử sudo lshw -class displaynhưng tôi không thể đảm bảo rằng nó sẽ chính xác hơn lspci. Ngoài ra, nó báo cáo phạm vi bộ nhớ, không phải số lượng, vì vậy bạn phải làm một số phép toán.

Tôi thấy rằng grep -i memory /var/log/Xorg.0.logbáo cáo chính xác VRAM trên thẻ hệ thống của tôi. Nó không hoạt động cho máy tính xách tay của tôi bằng trình điều khiển radeonvới thiết bị Radeon Mobility tích hợp.


Cảm ơn, nhưng cài đặt nvidia là dành riêng cho thẻ. Và vâng, tôi tin rằng lshwbáo cáo các tài nguyên bộ nhớ hệ thống giống như lspci, chỉ lshw báo cáo chúng dưới dạng phạm vi địa chỉ thay vì kích thước.
drgrog

3
Tôi nên nghĩ rằng nên đi kiểm tra phoronix trước khi cố gắng trả lời điều này. Trên hệ thống của tôi, thẻ video 768 MB G80 của tôi được báo cáo là 256 MB tính bằng lspci, như bạn lưu ý. Những người trong diễn đàn đã nói rằng đây thực sự là khẩu độ có thể nhìn thấy trên bus PCI, điều này có ý nghĩa. Làm một 'dmesg | grep VGA' cũng gây ra vấn đề tương tự trên hệ thống của tôi, mặc dù tôi đã nghe nói nó hoạt động chính xác cho những người khác. Bộ nhớ được báo cáo chính xác trong /var/log/Xorg.0.log: 'NVIDIA (0): Bộ nhớ: 786432 kBytes'. Từ bài đăng trên diễn đàn này: phoronix.com/forums/ từ !
koanhead

1
Có vẻ như tôi sẽ phải viết kịch bản của riêng mình. Cho đến nay grep kB /var/log/Xorg.0.loghoặc grep -i mem /var/log/Xorg.0.logcung cấp cho tôi dữ liệu chính xác và khả thi nhất cho thẻ nvidia và máy ảo VirtualBox. Tôi không có bất kỳ thẻ ATI nào để kiểm tra và chưa có ý định kiểm tra thẻ intel tích hợp hoặc máy ảo VMware.
drgrog

1
fglrx: grep kBytesẽ dẫn đến kết quả như thế này : Video RAM: 1048576 kByte, Type: GDDR5, grepping cho chỉ kB cũng sẽ hiển thị một số mục VESA.
taneli

xserver-xorg-video-ati: grep "mem size"sẽ dẫn đến kết quả như thế này: RADEON(0): mem size init: gart size :1fdff000 vram size: s:40000000 visible:f6f6000đó là điều tốt nhất tôi có thể thoát khỏi nó, trong đó kích thước bộ nhớ nằm trong hex saus:
taneli

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

Đầu ra hệ thống của tôi

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

Điều đó có nghĩa là nó có 256 MB bộ nhớ dành riêng cho card màn hình tích hợp.

Cập nhật : tuy nhiên, hãy cẩn thận nếu bạn sử dụng một trong các thẻ Đồ họa HD của Intel. Bộ nhớ của nó thường được chia sẻ với RAM chính của hệ thống và nó là động, có nghĩa là nó tăng và giảm theo yêu cầu. Trong hệ thống của tôi, sau đó tôi phát hiện ra rằng nó có thể tăng lên tới 1,7 GB và giá trị này dường như là tiêu chuẩn nếu bạn có một hệ thống có RAM 4.0 GB (trường hợp của tôi). Nếu bạn sử dụng một card đồ họa như thế này, đầu ra ở trên sẽ không giúp ích nhiều.


2
Bạn có thể tìm thấy bao nhiêu bằng cách chạy sudo dmesg | grep drmnhư trong câu trả lời đầu tiên - tôi đã nhận được 2048M, mà tôi đã sử dụng cho một ứng dụng dưới Wine và nó đã hoạt động.
Wilf

1
Đối với các card đồ họa chia sẻ với bộ nhớ chính, việc sử dụng bộ nhớ này có bị phơi bày bởi những thứ như tophoặc freenó vô hình với HĐH không? Làm thế nào để người ta tìm ra bao nhiêu RAM được chiếm bởi IGP chia sẻ?
CMCDragonkai

5

Bạn có thể thử điều này:

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

hoặc điều này nếu lệnh trên không thành công:

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

Không có gì mới - chỉ cần xem các bài đăng khác và thêm mẫu phù hợp để có đầu ra được định dạng tốt hơn.


Cả hai đều không hoạt động cho Ubuntu 14.04 Máy tính xách tay Asus G551JM (đồ họa kép, bao gồm GeForce GTX 860M)
Adam Ryczkowski

1
Lệnh đầu tiên trả về lỗibash: / 1024: syntax error: operand expected (error token is "/ 1024")
Adam Ryczkowski

Đây là giải pháp duy nhất hiệu quả với tôi, từ dòng lệnh!
Panayotis

Lệnh thứ hai trả về kích thước chính xác của ram video
Mudit Kapil

1

Có một chương trình gọi là hardinfo , có sẵn trong Trung tâm phần mềm , sẽ liệt kê ra từng thẻ video (trong danh sách thả xuống Thiết bị, trong danh mục Thiết bị PCI) và thông số kỹ thuật cho từng thẻ, bao gồm bộ nhớ và nhà cung cấp / kiểu máy.


1
Cảm ơn Nathan, nhưng hardinfo chỉ là một tiêu đề gui cho thông tin thu được từ lshw và lspci, v.v. Tôi nhớ điều này đã được đề xuất trước đây, mặc dù có vẻ như câu trả lời đã bị xóa bởi tác giả.
drgrog

hardinfo rất tuyệt, nhưng không cho bộ nhớ GPU.
Adam Ryczkowski
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.