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 経由で Wi​​ndows でも検証されました。メモリ不足が次のように報告されました:デュアルチャネル

したがって、インターリーブされたデータの深さは正しくありませんが、チャネル (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

シングル、デュアル、トリプル チャネル モードのいずれで実行されているかは、これだけではわかりません。

関連情報