You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

查询英特尔i915核显实际内存使用情况及系统内存差异疑问

查询英特尔i915核显实际内存使用情况及系统内存差异疑问

我有一台联想ThinkPad P14s,搭载混合显卡:英特尔UHD核显(CometLake-U GT2)和NVIDIA Quadro P520独显。我已经通过sudo prime-select intel设置为仅使用英特尔核显,并且在BIOS里把核显的显存分配设为了512MB。现在我想确认核显实际的内存占用情况,于是做了一系列检查,结果有些困惑,想请大家帮忙解答:

已执行的检查及输出:

  • 确认当前显卡模式:
$ prime-select query
intel
  • 查看VGA设备:
$ lspci |grep VGA
00:02.0 VGA compatible controller: Intel Corporation CometLake-U GT2 [UHD Graphics] (rev 02)
  • 查看核显的详细PCI信息:
$ sudo lspci -v -s 00:02.0
00:02.0 VGA compatible controller: Intel Corporation CometLake-U GT2 [UHD Graphics] (rev 02) (prog-if 00 [VGA controller])
Subsystem: Lenovo CometLake-U GT2 [UHD Graphics]
Flags: bus master, fast devsel, latency 0, IRQ 158
Memory at e2000000 (64-bit, non-prefetchable) [size=16M]
Memory at 80000000 (64-bit, prefetchable) [size=512M]
I/O ports at 4000 [size=64]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: i915
Kernel modules: i915
  • 用glxinfo查看显卡内存信息:
$ glxinfo | grep -E 'Device:|Video memory:'
Device: Mesa Intel(R) UHD Graphics (CML GT2) (0x9b41)
Video memory: 15640MB
  • 通过lshw查看显示设备:
$ sudo lshw -C display
*-display
description: VGA compatible controller
product: CometLake-U GT2 [UHD Graphics]
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
logical name: /dev/fb0
version: 02
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
configuration: depth=32 driver=i915 latency=0 resolution=2560,1440
resources: irq:158 memory:e2000000-e2ffffff memory:80000000-9fffffff ioport:4000(size=64) memory:c0000-dffff
*-display UNCLAIMED
description: 3D controller
product: GP108GLM [Quadro P520]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:2d:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: latency=0
resources: memory:e1000000-e1ffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:3000(size=128)

我的疑问:

  • lspci -v里显示的512MB应该是我在BIOS中设置的显存,这个看起来是准确的,但glxinfo却显示视频内存为15640MB,这显然是把整个系统内存都算进去了,为什么会这样?
  • 我不太清楚怎么计算lshw输出中每个内存范围的大小,但看起来它和lspci -v的内存范围是一致的,这个是否能反映核显的实际显存?
  • 另外,我的机器标称是16GB内存,但内核识别的总内存是:
$ grep MemTotal /proc/meminfo
MemTotal:       16015528 kB

换算后是15640MB,和16GB(16384MB)差了744MB。这部分未被识别的内存会不会是被GPU预留了?但为什么是744MB而不是我设置的512MB?是不是还有其他内存区域被预留了,只是没有被内核显示出来?

备注:内容来源于stack exchange,提问作者trent--

火山引擎 最新活动