linux / armでRAM(ECCなし)のベンチマークをとる最良の方法は何ですか?


19

カスタムボード上の非ECCメモリチップの整合性とグローバルパフォーマンスをテストしたい

Linuxで実行するツールがあるので、システムと地球の温度を同時に監視できますか?

一般的に行うためのいくつかの非ECC固有のテストはありますか?

編集1:

温度を監視する方法はすでに知っています(特別なプラットフォーム機能/sys/devices/platform/......../temp1_inputを使用しています)。

今のところ :

  • wazoox:動作しますが、独自のテストをコーディングする必要があります
  • ジェイソン・ハントリー:
    • ramspeed:腕では機能しません
    • ストリームベンチマーク:動作し、非常に高速なので、正確で完全かどうかを調べます
    • memtest:Linuxから直接実行されないため、後で試します。
    • fedoraのストレス:後で試してみますが、fedoraをインストールするのはあまりにも問題です

私はこのディストリビューションを見つけました:http : //www.stresslinux.org/sl/

おそらく、stresslinux、memtest、fedoraのストレスなどの解決策を試してから、Linuxの下で大きな依存関係なしで直接実行されるツールを引き続きチェックします。

回答ありがとうございます。調査を続けます


お使いのLinuxディストリビューションを提供していただければ助かります。サーバーまたはデスクトップディストリビューションを実行していますか?XServerが含まれていますか?
ジェイソンハントリー

私はbusyboxでlinux 3.0ベアメタルを使用し、rootfsはnfs上にあるため、アームクロスコンパイラを使用して別のホストからツールをコンパイルします。XServerはありません。
モール

回答:


13

私が時々RAMをテストする方法は次のとおりです。最初に2つのtmpfsをマウントします(デフォルトではtmpfsはRAMの半分です)。

# mount -t tmpfs /mnt/test1 /mnt/test1
# mount -t tmpfs /mnt/test2 /mnt/test2

空きメモリと空き容量を確認します。

# free
             total       used       free     shared    buffers     cached
Mem:        252076     234760      17316          0      75856      62328
-/+ buffers/cache:      96576     155500
Swap:      1048820        332    1048488

# df -h -t tmpfs
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
tmpfs                 124M     0  124M   0% /lib/init/rw
udev                   10M  104K  9,9M   2% /dev
tmpfs                 124M     0  124M   0% /dev/shm
/mnt/test1            124M     0  124M   0% /mnt/test1
/mnt/test2            124M     0  124M   0% /mnt/test2

次に、tmpfsにddを入力します。

# dd if=/dev/zero of=/mnt/test1/test bs=1M 
dd: écriture de `/mnt/test1/test': Aucun espace disponible sur le périphérique
123+0 enregistrements lus
122+0 enregistrements écrits
128802816 octets (129 MB) copiés, 1,81943 seconde, 70,8 MB/s

# dd if=/dev/zero of=/mnt/test2/test bs=1M 
dd: écriture de `/mnt/test2/test': Aucun espace disponible sur le périphérique
123+0 enregistrements lus
122+0 enregistrements écrits
128802816 octets (129 MB) copiés, 5,78563 seconde, 22,3 MB/s

メモリが実際にいっぱいになっていることを確認できます。

# free
             total       used       free     shared    buffers     cached
Mem:        252076     248824       3252          0       1156     226380
-/+ buffers/cache:      21288     230788
Swap:      1048820      50020     998800

これで、さまざまなテストを実行できます。たとえば、両方の一時ファイルが同一であることを直接確認したり、md5sum、sha1sumなどを実行したりできます。

# time cmp /mnt/test1/test /mnt/test2/test 

real    0m4.328s
user    0m0.041s
sys     0m1.117s

温度監視については、lm-センサーのみを知っています。特定のハードウェアを管理するかどうかはわかりませんが、とにかく試してみることができます。


4
このベンチマークはCPUキャッシュの影響を受けますが、それは良い考えです。
ミルチャヴトコヴィチ

2
自分でテストしませんでしたが、Mirceaはおそらく正しいです。そのため、「echo 3> / proc / sys / vm / drop_caches」でページキャッシュ、歯、およびiノードを解放します。
マヌエル

これらはファイルキャッシュであり、CPUキャッシュではありません。
ミルチャVutcovici 14

1
+1このdd方法(古いAMD Athlon 64 3200+の場合)では、メモリクロック速度の変化に一貫して比例した結果が得られました。しかし、なぜシステムメモリ全体を詰まらせたいのかはわかりません/dev/zero-私がそれをしようとしたときにシステムがフリーズしました。
ルミ14

3
私はベンチマークに使用するシンプルなbashスクリプトでこれを適応しているプロバイダのVPS - bitbucket.org/snippets/danielsokolowski/G5oeA
ダニエルSokolowski

7

linux / armでRAM(ECCなし)のベンチマークをとる最良の方法は何ですか?

RamSpeedは、私が知っている唯一のマルチプラットフォームメモリベンチマークツールです。サポートされている場合、arm用にコンパイルできる場合があります。

http://alasir.com/software/ramspeed/ 、古いリンクは機能していません。使用:

https://github.com/cruvolo/ramspeed-smp

サポートされていない場合、ストリームを使用してベンチマークを実行できる場合があります。

http://www.cs.virginia.edu/stream/ref.html

カスタムボード上の非ECCメモリチップの整合性とグローバルパフォーマンスをテストしたい

ここでは、整合性チェックのために何度もmemtestを使用しましたが、うまく機能します。

http://www.memtest.org/

*注、これはArmのサポートのみを読んだことがあります。しかし、私は腕でテストしていません。

Linuxで実行するツールがあるので、システムと地球の温度を同時に監視できますか?

使用しているディストリビューションがyumをサポートしている場合、lm_sensorsを簡単にインストールできます。

yum install lm_sensors

以下からダウンロードしてコンパイルすることもできます:http : //www.lm-sensors.org/

ただし、mmemoryに関する温度データが提供されるかどうかはわかりません。マザーボードには、メモリ温度を読み取るためのセンサーも必要です。

一般的に行うためのいくつかの非ECC固有のテストはありますか?

memtestには、ECCと非ECCの両方のテストが含まれます

私はあなたが試すことができる最後の1つを思い出しました。armアーキテクチャまたはrpm用のfedoraを入手してください。CPUとメモリのストレステストを行うストレスパッケージを実行できます。

stress-1.0.4-4.fc13.armv5tel.rpm

busyboxにrpmインストーラーがパッケージ化されている場合、fedoraディストリビューションからarm rpmの1つを展開できる場合があります。


RAMspeedリンクがスパムWebサイトにリダイレクトされるようになりました。
Ciro Santilli新疆改造中心法轮功六四事件

うん、彼らのサイトはなくなって、githubへのリンクを更新しているようだ。
ジェイソンハントリー

1

wazooxが提案したように、/ tmpなどの既存のtmpfsにddを使用してファイルを書き込みますが、そのサイズを空きメモリの半分未満に制限します。

まず、使用可能なメモリ量を確認します。

> free -h                                                                       
              total        used        free      shared  buff/cache  available 
Mem:            15G        3.0G         11G        540M        1.0G         11G 
Swap:            9G        1.2M          9G                                     

次に、1MBの4000ブロックを使用して、この場合は合計4GBのファイルを書き込みます。

> dd if=/dev/zero of=/tmp/testfile bs=1M count=4000 
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB, 3.9 GiB) copied, 1.1395 s, 3.7 GB/s

これにより、スワッピングが回避され、何もマウントする必要がなくなります。


tmpfsRHEL6 / 7マシンの速度を人為的に制限しているようです。このコマンドをクアッドチャネルDDR3-1866マシン、クアッドチャネルDDR4-2666マシン、またはメモリチャンネルが2つしか搭載されていない同じマシンで実行しても、4GB / sと同じです。これらは、4GB /秒ではなく、60、85、および42GB /秒でメモリに書き込む必要があります。
マークブース

ddは、一定の待機間隔でループを実行しているため、アクション全体の速度を制限している可能性があります。別の方法で試してください:dd if = / dev / zero of = / tmp / testfile bs = 4000M count = 1
baldrianbandit

それは非常に奇妙な、私はの様々な試みただbscountSと最良の組み合わせは、とあったbs=512Kが、それは4.2ギガバイト以上になることはありません/ STREAMベンチマークでS / 43ギガバイトを与えるマシンでね。
マークブース

0

u-bootのmemtestを使用しました。2つのテストがあります(u-boot / common / cmd_mem.cを参照)。

最初のテストは単純(書き込み、チェック)で、2番目のテストはテストによってアクティブ化され#define CONFIG_SYS_ALT_MEMTEST 1、さらにテストを追加します。

u-bootメモリ空間の後に開始オフセット(argv [1])を渡すことに注意してくださいmtest 0x200000

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