如何在 Linux 中获取内存通道(单通道、双通道等)类型?

如何在 Linux 中获取内存通道(单通道、双通道等)类型?

我想知道 Linux 中我的内存通道是什么类型,单通道、双通道等等。

  1. 我尝试通过检查 /proc 文件系统来找到它,但没有成功。然后
  2. 我用来dmidecode获取系统信息,并检查,也没有找到。

我怎么才能得到它?

答案1

dmidecode在输出中搜索Interleaved Data Depth。双通道内存的交错深度为 2。

答案2

给出“交错数据深度”作为答案的人并不正确。交错数据深度要么不是正确的指标,要么经常被误报(如果有报告的话)。

获取您正在使用的频道数的简单方法是执行以下操作:

sudo dmidecode -t 17 | awk 'BEGIN { FS=":"; OFS="\t" } /Size|Channel/ { line = (line ? line OFS : "") $2 } /^$/ { print line; line="RAM" }' | grep -iv 'no'

示例输出(双通道):

RAM  32 GB   ChannelA-DIMM0
RAM  32 GB   ChannelB-DIMM0

在同一台机器上,让我们检查一下交叉数据深度:

sudo dmidecode | grep Interleaved

输出:

Interleaved Data Depth: 1
Interleaved Data Depth: 1

在同一台机器上,还通过 CPU-Z 在 Windows 中进行了验证。内存不足的情况逐字逐句地报告如下:双通道

因此,交错数据深度不正确,但我们可以轻松检查我们的通道(A,B,C,D等)。

答案3

通道不会告诉您它是否以双通道模式运行,它只会告诉您哪个通道正在使用内存模块

这是我尝试让 2x8GB + 4x4GB DIMM 在我的 x79 主板上运行后的输出

RAM  8192 MB     ChannelA_Dimm1  ChannelA    ChannelA_Dimm1_AssetTag
RAM  4096 MB     ChannelA_Dimm2  ChannelA    ChannelA_Dimm2_AssetTag
RAM  8192 MB     ChannelB_Dimm1  ChannelB    ChannelB_Dimm1_AssetTag
RAM  4096 MB     ChannelB_Dimm2  ChannelB    ChannelB_Dimm2_AssetTag
RAM  4096 MB     ChannelD_Dimm1  ChannelD    ChannelD_Dimm1_AssetTag

你无法从中判断它们是以单通道、双通道还是三通道模式运行。

相关内容