Linux-ソフトウェアを通じてメモリの速度を特定する方法はありますか?


9

ソフトウェアを使用してメモリの速度を確認する方法はありますか?私はFedora 9を使用していて、現在使用しているDIMMの速度を調べています。

「lshw」を試しましたが、速度が表示されません。マザーボードが3つの異なる速度をサポートしていることは知っていますが、そこに何があるのか​​わからず、ボックスをオフにしたくありません。

何か案は?

おかげで、

編集:dmidecodeによると、RAMが「30 ns」であることがわかりました。ボードが400、533、667 Mhz RAMのみをサポートしている場合、33 M​​Hzになるのはなぜですか?

編集2:これを行う他のツールはありますか?



編集3:私は実際に降伏し、数分間電源を切り、ケースを開いた。それは667 MhZであることがわかりました-このモデル:http ://www.directron.com/rm12864aa667.html 。ソフトウェアで667であることが実際には理解できなかったにもかかわらず、私はHDの答えを正しいものとしてマークしました。




これがdemidecode --type memoryの出力です

# dmidecode 2.7
SMBIOS 2.4 present.

Handle 0x0008, DMI type 5, 20 bytes.
Memory Controller Information
    Error Detecting Method: 64-bit ECC
    Error Correcting Capabilities:
        None
    Supported Interleave: One-way Interleave
    Current Interleave: One-way Interleave
    Maximum Memory Module Size: 1024 MB
    Maximum Total Memory Size: 2048 MB
    Supported Speeds:
        70 ns
        60 ns
        50 ns
    Supported Memory Types:
        DIMM
        SDRAM
    Memory Module Voltage: 3.3 V
    Associated Memory Slots: 2
        0x0009
        0x000A
    Enabled Error Correcting Capabilities:
        None

Handle 0x0009, DMI type 6, 12 bytes.
Memory Module Information
    Socket Designation: DIMM0
    Bank Connections: 9 11
    Current Speed: 30 ns
    Type: Unknown FPM Parity SDRAM
    Installed Size: 1024 MB (Single-bank Connection)
    Enabled Size: 1024 MB (Single-bank Connection)
    Error Status: OK

Handle 0x000A, DMI type 6, 12 bytes.
Memory Module Information
    Socket Designation: DIMM1
    Bank Connections: 9 11
    Current Speed: 30 ns
    Type: Unknown FPM Parity SDRAM
    Installed Size: 1024 MB (Single-bank Connection)
    Enabled Size: 1024 MB (Single-bank Connection)
    Error Status: OK

Handle 0x002F, DMI type 16, 15 bytes.
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: None
    Maximum Capacity: 4 GB
    Error Information Handle: Not Provided
    Number Of Devices: 2

Handle 0x0031, DMI type 17, 27 bytes.
Memory Device
    Array Handle: 0x002F
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM0
    Bank Locator: BANK0
    Type: SDRAM
    Type Detail: Synchronous
    Speed: Unknown
    Manufacturer: Manufacturer0
    Serial Number: SerNum0
    Asset Tag: AssetTagNum0
    Part Number: PartNum0

Handle 0x0033, DMI type 17, 27 bytes.
Memory Device
    Array Handle: 0x002F
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM1
    Bank Locator: BANK1
    Type: SDRAM
    Type Detail: Synchronous
    Speed: Unknown
    Manufacturer: Manufacturer1
    Serial Number: SerNum1
    Asset Tag: AssetTagNum1
    Part Number: PartNum1

マシンのベンダーは何ですか?あなたは彼らのサイトでそれを調べることができないのですか?
MDMarra 2009

いいえ、それは特注のマシンです
バルフーン

回答:


18

dmidecodeは、探しているツールです。


ここには多くの情報がありますが、速度はnsです。MHzで速度を取得しますか?
barfoon 2009

私の dmidecodeはnsとMHzで速度を示しますが、必要に応じて数秒の演算(または実行中の単位)が変換を実行します。
ウォンブル


1
したがって、30 nsメモリ= 33 MHz?そこに私の数学は正しいですか?1 /(30 / 1,000,000)=速度(Hz)
風船2009

3
@barfoon:はい、30ns == 33MHz。より速い計算は1000 /(ns)== MHz単位の速度です。
ウォンブル

13

私のDebianでは、lshwがその情報を提供してくれます。

# lshw -version
B.02.13
# lshw -short -C memory
H/W path             Device     Class       Description
=======================================================
/0/1                            memory      128KiB BIOS
/0/5/6                          memory      20KiB L1 cache
/0/5/7                          memory      1MiB L2 cache
/0/27                           memory      System Memory
/0/27/0                         memory      256MiB DIMM DDR Synchronous 400 MHz (2.5 ns)
/0/27/1                         memory      256MiB DIMM DDR Synchronous 400 MHz (2.5 ns)
/0/27/2                         memory      256MiB DIMM DDR Synchronous 266 MHz (3.8 ns)
/0/27/3                         memory      256MiB DIMM DDR Synchronous 400 MHz (2.5 ns)
/0/28                           memory      Flash Memory
/0/28/0                         memory      512KiB Chip FLASH Non-volatile
/0/0                            memory      
/0/2                            memory      

これは素晴らしいですが、私のバージョンでは、説明の下の速度は表示されません。とにかくありがとう
barfoon 2009

2

dmidecodeの出力をメモリセクションに投稿できますか?(dmidecode --type memory

これを読むことをお勧めします:http : //www.howtoforge.com/dmidecode-finding-out-hardware-details-without-opening-the-computer-case

「NS」は、メモリが応答できる速度を「ナノ秒」で表します。数値が低いほど速度は速くなります。残念ながら、これは正確なMhz番号を参照していません。DMIDECODEはMhzも出力することになっています。出力の一番下を確認するか、単にdmidecode --type memoryを確認します。grep Mhz


dmidecodeのバージョンを2.8以降にアップグレードすることをお勧めします。ここでrpmを取得できます:icewalkers.com/rpm/dmidecode/fedora-core-9/download/… そしてrpm -i dmidecode * rpm Ver。2.7は、メモリが実行されるMhzの表示をサポートしていません。
David Rickman、

1

メモリの速度を本当にベンチマークしたい場合は、32ビットプロセッサの386プロテクトモードでは実行できません。ページフォールトとページテーブルのレイアウトが結果に大きく影響するためです。

あなたの最善の策は、メモリの物理アドレスに直接アクセスできる16ビットの「リアルモード」でベンチマークをコーディングすることです。

簡単にカスタマイズできる素敵なブートアップコードについては、GRUBブートローダーのstage1ソースを確認してください。stage1は、ハードディスクの最初の512バイトにあるMBRです。ソースディレクトリのstage1 / stage1.Sファイルにあります。たくさんコメントされており、簡単に理解できます。

MBRをニーズに合わせてカスタマイズしたら、次の方法でコンパイルします。

$ BOOT=mbr
$ gcc -O2 -fno-builtin -nostdinc -falign-jumps=1 -falign-loops=1 -falign-functions=1 -Wundef -g -c $BOOT.S
$ gcc  -g  -nostdlib -Wl,-N,-Ttext,7C00 -o $BOOT.exec  $BOOT.o  
$ objcopy -O binary $BOOT.exec $BOOT

これでx86 MBRの準備が整いました。実際のマシンで実行する前に、QemuやBochsなどの仮想マシンでコードをテストすることが望ましいです。また、コンパイル/デバッグサイクルが容易になります。

それが役に立てば幸い


1
マシンを開かずに、RAMの定格周波数を知りたいだけだと思います。
MDMarra 2009

1

本当に運が良ければ、探しているツールは懐中電灯です。ケースを開けて、ラベルにステッカーが貼られているステッカーを見て確認できるメモリもあります。しかし、それはそれを取得することがいかに簡単にあなたのケースに完全に依存し、あなたは長い間、あなたがしているとしてとしてマシンをオフにする必要はありません本当に 本当に 本当に慎重に。マシンの内部での作業の経験がどれほどかはわかりませんが、Linuxソフトウェアのコマンドを使用してそれを理解できない場合は、次のことを試します。


1

編集:dmidecodeによると、RAMが「30 ns」であることがわかりました。ボードが400、533、667 Mhz RAMのみをサポートしている場合、33 M​​Hzになるのはなぜですか?

それは次のようなものだと思います:

SIMM / DIMM上の個々のチップは、30ns、つまり33MHzで動作します。SIMMごとに8つのチップがあるため、8 x 33MHz = 266MHz。またはDIMMあたり16チップ、533 MHzを提供します。

したがって、各チップは33 MHzで動作しますが、メモリモジュール全体は533 MHzでデータを配信できます。


私はこの答えが最も理にかなっていると思います、私は上記のdmidecodeの出力を投稿しました
barfoon

残念ながら、報告されている速度が30nsで実際のメモリ速度が667MHzであるなど、これほど単純なことではありません。そのため、これら2つの間に明確な関係があるかどうかはわかりません。
olefebvre 2009

@pgs-Synchronous Dramはそのようには機能しません。すべてのチップは並行してアクセスされます。この30nsは、行と列のアドレスレイテンシを考慮して、最初のワードにアクセスする合計時間である可能性が高くなります。最初の単語にアクセスするのに合計30nsかかっても、後続の単語ははるかに速く出てくるはずです。最近のCPUは、キャッシュ、分岐予測、その他の最適化を使用して、このようなレイテンシを隠すことに多くの労力を費やしています。
マークブース

1

私はこれが少し遅れていることを知っていますが、:

サポートされているタイミングを取り、それらを半分にすると、指定されたレート30に適合します。次に、これを半分にして10000で割ると、(800、666、571.4)になります。

タイミングとデータレートの間の接続が複雑になる可能性がありますが、理由はわかりません。また、これらの1つはダブルデータレートである可能性があります。


1

明確にするために、最後に表示される33MHzのメモリはBIOSメモリです:)

    Type: Flash
    Type Detail: Non-Volatile
    Speed: 33 MHz
    Manufacturer: ATMEL

より良いツールを使用したい場合は、lm_sensors(https://wiki.archlinux.org/index.php/Lm_sensors)とi2c-tools(https://www.archlinux.org/packages/?name=i2c-ツール

次に、dimm-decodeを使用して、メモリに関する詳細情報を取得できます(出力例は次のとおりです)。

Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0055
Guessing DIMM is in                             bank 6

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116                       OK (0x4422)
# of bytes written to SDRAM EEPROM              176
Total number of bytes in EEPROM                 256
Fundamental Memory type                         DDR3 SDRAM
Module Type                                     RDIMM

---=== Memory Characteristics ===---
Fine time base                                  2.500 ps
Medium time base                                0.125 ns
Maximum module speed                            1066MHz (PC3-8533)
Size                                            16384 MB
Banks x Rows x Columns x Bits                   8 x 15 x 11 x 64
Ranks                                           4
SDRAM Device Width                              4 bits
tCL-tRCD-tRP-tRAS                               7-7-7-20
Supported CAS Latencies (tCL)                   8T, 7T, 6T

---=== Timing Parameters ===---
Minimum Write Recovery time (tWR)               15.000 ns
Minimum Row Active to Row Active Delay (tRRD)   7.500 ns
Minimum Active to Auto-Refresh Delay (tRC)      50.625 ns
Minimum Recovery Delay (tRFC)                   160.000 ns
Minimum Write to Read CMD Delay (tWTR)          7.500 ns
Minimum Read to Pre-charge CMD Delay (tRTP)     7.500 ns
Minimum Four Activate Window Delay (tFAW)       37.500 ns

---=== Optional Features ===---
Operable voltages                               1.5V, 1.35V
RZQ/6 supported?                                Yes
RZQ/7 supported?                                Yes
DLL-Off Mode supported?                         Yes
Operating temperature range                     0-95C
Refresh Rate in extended temp range             1X
Auto Self-Refresh?                              No
On-Die Thermal Sensor readout?                  No
Partial Array Self-Refresh?                     No
Thermal Sensor Accuracy                         0
SDRAM Device Type                               0

---=== Physical Characteristics ===---
Module Height (mm)                              30
Module Thickness (mm)                           4 front, 4 back
Module Width (mm)                               133.5
Module Reference Card                           F

---=== Registered DIMM ===---
# DRAM Rows                                     2
# Registers                                     2
Register manufacturer                           IDT
Register device type                            SSTE32882
Register revision                               0x61
Heat spreader characteristics                   00
SSTE32882 RC0/RC1                               00
SSTE32882 RC2/RC3                               50
SSTE32882 RC4/RC5                               50
SSTE32882 RC6/RC7                               00
SSTE32882 RC8/RC9                               00
SSTE32882 RC10/RC11                             00
SSTE32882 RC12/RC13                             00
SSTE32882 RC14/RC15                             00

---=== Manufacturer Data ===---
Module Manufacturer                             Samsung
DRAM Manufacturer                               Samsung
Manufacturing Location Code                     0x02
Manufacturing Date                              2011-W39
Assembly Serial Number                          xxx
Part Number                                     M393B2K70CM0-YF8

1
dimm-decode?あなたが意味したと思いますdecode-dimms。とにかく、それは私にとっては機能しません:0 SDRAM DIMMが検出されたと言います。
underscore_d

0

可能であれば、Memtest、IIRCを実行してみてください。トラフアウトとメモリ速度が左上隅に表示されます(たとえば、20000MB / s @ 667MHz)。


0

DDR sdramのタイミングは8と2の倍数です。覚えている限りでは、DDRはダブルデータレートを意味します(もう一度確認する情報が見つからなかったため、確認してください)。そのメモリは、その間に両方の方法(入出力)を転送できます。

理由は簡単です。DDRのタイミングは、指定されたバス周波数の2倍です。バスの周波数とバスの転送速度容量を混同しないでください。バスは、バス周波数で32、64、128、または256ビットを転送します。1サイクルあたり128ビットのデータの1つのセットは、大量のデータです。

例:DDR400は200 MHzのバスで見つかりました。他の名前はPC3200です。400から3200にするには、係数8が見つかります。この係数は、DDRが何であっても常に検証されます(1/2/3/4 ...)

次のリンクは、基本を理解するのに十分です(そして、おそらく私の説明よりも優れて完全です:))

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.