在我的主板手册中,我在 BIOS 配置下看到以下内容
4G 以上解码(系统支持 64 位 PCI 解码时可用) 选择“Enabled”可在 4G 地址以上的空间中解码支持 64 位的 PCI 设备。选项包括“Enabled”和“已禁用。
除了检查此选项是否可用之外,我还能如何检查我的系统是否支持 64 位 PCI 解码?
答案1
它是在过去 10-15 年内制造的吗?如果是,它很可能支持 64 位 PCI 解码。64 位 PCI、PCI-X 和 PCI Express 总线均支持 64 位解码。
您可以使用 Linux 命令验证是否正在使用 64 位解码,例如:
sudo lspci -v | grep "Memory.*64-bit"
当此 BIOS 选项被禁用时,您将看到所有内存都已解码至 4GiB 边界以下。如果您看不到任何输出,则表示未进行 64 位内存解码。
顺便说一句,除非您的 PCI Express 设备配置需要该选项(例如安装了多个 GPGPU),否则您应该将此 BIOS 选项保持禁用状态。某些较旧的 Linux 内核在启用该选项的情况下也可能无法启动,因此您可能需要在启用此选项之前更新操作系统。
答案2
这是正确的https://serverfault.com/users/126632/michael-hampton说。
更准确地说,当禁用时,你会看到这样的数据:
$ sudo lspci -v | grep -B 4 "Memory.*64-bit" | grep disabled | grep unassigned | uniq
Memory at <unassigned> (64-bit, prefetchable) [disabled]