有哪些方法可以确定我的显卡的内存容量(GRAM)?
假设我有一个Nvidia Quadro FX1800
。
操作系统可以是 Windows 或 Linux,卡上没有贴纸,而且我不再有包装了。
答案1
1. 使用 Google 识别记忆
这是最简单的方法,但并不总是准确的。许多 GPU 都具有不同的内存大小。FX1800
然而,在这种情况下似乎只有一个结果。Nvidia 的网站在“规格”选项卡下显示了每个 GPU 的内存:
2.Linux 解决方案 - 仅限 Nvidia GPU
这需要使用nvidia
驱动程序(和/或 CUDA):
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.45 Driver Version: 396.45 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 660 Off | 00000000:01:00.0 N/A | N/A |
| 38% 55C P2 N/A / N/A | 1260MiB / 1991MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
第二列显示为1260MiB / 1991MiB
-1991MiB
是你的 GPU 的 RAM。
3.Linux 解决方案 - 所有 GPU
只要您使用xorg
/ xserver
,这适用于所有类型的 GPU:
grep -i --color memory /var/log/Xorg.0.log
此命令将查询xorg
服务器日志以获取 GPU 的内存信息:
[ 24.636] (--) NVIDIA(0): Memory: 2097152 kBytes
[ 24.724] (II) NVIDIA: Using 6144.00 MB of virtual memory for indirect memory
[ 24.804] (==) NVIDIA(0): Disabling shared memory pixmaps
这告诉我们我的 GPU 有2097152 kBytes
- 所以它基本上是一个 2GB 内存的 GPU。
4.Windows Powershell 解决方案 - 所有 GPU
此解决方案最初是在评论中提出的援助之手。
要仅获取 Nvidia GPU 的结果,请在 powershell 窗口中运行以下命令:
Get-WmiObject Win32_VideoController -filter "name like '%NVIDIA%'" | select AdapterRAM,@{Expression={$_.adapterram/1MB};label="MB"}
要获取所有显卡的结果,可以使用以下命令:
Get-WmiObject Win32_VideoController | select name, AdapterRAM,@{Expression={$_.adapterram/1MB};label="MB"}
当然,您也可以使用常规控制面板在 Windows 下获取 GPU 的 RAM,在System -> Display
Windows 10 下查找“显示适配器属性”。
答案2
$qwMemorySize = (Get-ItemProperty -Path "HKLM:\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0*" -Name HardwareInformation.qwMemorySize -ErrorAction SilentlyContinue)."HardwareInformation.qwMemorySize"
$VRAM = [math]::round($qwMemorySize/1GB)
Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -ne "Internal"} | ForEach-Object -Process {
[PSCustomObject] @{
Model = $_.Caption
"VRAM, GB" = $VRAM
}
}
答案3
在 Linux 上,另一种方法是查看内核在启动过程中的报告:
sudo dmesg | grep VRAM
例如,对于 AMD 芯片:
[ 4.798391] amdgpu 0000:09:00.0: amdgpu: VRAM: 4096M 0x000000F400000000 - 0x000000F4FFFFFFFF (4096M used)
[ 4.798400] [drm] Detected VRAM RAM=4096M, BAR=256M
[ 4.798436] [drm] amdgpu: 4096M of VRAM memory ready