如何在 Linux 中获取 VRAM 和 GPU 缓存大小?

问题描述 投票:0回答:1

我想制作一个显示 VRAM 大小的脚本(语言无关紧要)。唯一有效的是

sudo lspci -vnn
,但它不适用于未启用可调整大小 BAR 的系统。 glxinfo 还可以显示 VRAM 大小,但它在图形加载之前不起作用,因此脚本在 SSH 或 TTY 中会失败

e。 G。在我的电脑上:

08:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] [1002:73bf] (rev c1) (prog-if 00 [VGA controller])
    Memory at 7800000000 (64-bit, prefetchable) [size=16G]
    Memory at 7c00000000 (64-bit, prefetchable) [size=256M]

但是在我朋友的笔记本电脑上:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] [10de:1f91] (rev a1) (prog-if 00 [VGA controller])
        Memory at a3000000 (32-bit, non-prefetchable) [size=16M]
        Memory at 90000000 (64-bit, prefetchable) [size=256M]
        Memory at a0000000 (64-bit, prefetchable) [size=32M]
  1. 那么,在没有 X11 和 Wayland 运行的情况下,如何获得真实的 VRAM 大小? (所以是的 hyprctl 和其他工具不起作用)

另外,在每台计算机上启用可调整大小的 BAR 也不是一个选项,因为我不希望我的脚本仅在我的硬件上使用:)

很高兴看到任何跨平台解决方案,但如果你有至少 2/3 AMD/Nvidia(/Intel) 选项,那也很好

  1. 我的 Radeon 上的 256M 内存是什么?我以为是无限缓存,但它必须只有128M。我也可以获得缓存大小吗?
linux bash gpu vram
1个回答
0
投票
#!/bin/bash

# Function to extract NVIDIA VRAM info
extract_nvidia_info() {
    # Replace with a command or a series of commands to fetch NVIDIA VRAM info
    nvidia-smi # Example command, adjust as needed
}

# Function to extract AMD VRAM info
extract_amd_info() {
    # Replace with a command or a series of commands to fetch AMD VRAM info
    lspci -vnn | grep -i "Radeon" # Example command, adjust as needed
}

# Function to extract Intel VRAM info
extract_intel_info() {
    # Replace with a command or a series of commands to fetch Intel VRAM info
    lspci -vnn | grep -i "Intel" # Example command, adjust as needed
}

# Identify the GPU vendor
gpu_vendor=$(lspci | grep -i VGA | cut -d ' ' -f5)

case $gpu_vendor in
    "NVIDIA")
        extract_nvidia_info
        ;;
    "AMD")
        extract_amd_info
        ;;
    "Intel")
        extract_intel_info
        ;;
    *)
        echo "Unknown GPU vendor"
        ;;
esac

该脚本作为基本框架。您需要将占位符命令替换为为每个供应商获取 VRAM 信息的实际命令。示例命令是通用的,可能需要根据您的具体要求和 Linux 发行版进行调整。

对于 NVIDIA GPU,nvidia-smi 是常用工具,但可能需要安装 NVIDIA 驱动程序和实用程序。 对于AMD和Intel GPU,以lspci为例来识别GPU。可以从 /sys 或 /proc 文件系统或特定于这些供应商的其他工具中提取更多详细信息。 该脚本可以从 Linux 环境中的终端运行。确保使用 chmod +x scriptname.sh 为其授予执行权限。请记住,信息的准确性和可用性取决于您的系统配置和可用工具。

© www.soinside.com 2019 - 2024. All rights reserved.