Linux / arm altında RAM'i (ECC yok) karşılaştırmanın mümkün olan en iyi yolları nelerdir?


19

ECC olmayan bellek yongalarının bütünlüğünü ve global performansını özel bir kartta test etmek istiyorum

Sistem ve küresel sıcaklığı aynı anda izleyebilmem için linux altında çalışan bazı araçlar var mı?

Genel olarak ECC'ye özgü olmayan bazı testler var mı?

DÜZENLEME 1:

Sıcaklığın nasıl izleneceğini zaten biliyorum (/sys/devices/platform/......../temp1_input özel bir platform özelliği kullanıyorum).

Şimdilik :

  • wazoox: işe yarıyor ama kendi testlerimi kodlamam gerekiyor
  • Jason Huntley:
    • ramspeed: kolda çalışmaz
    • akış karşılaştırması: işe yarıyor ve çok hızlı, bu yüzden doğru ve eksiksiz olup olmadığına bakacağım
    • memtest: Daha sonra deneyeceğim, çünkü doğrudan linux'dan kaçmıyor
    • fedora için stres: Daha sonra da deneyeceğim, şimdi fedora kurmak benim için çok sorunlu

Bu dağılımı buldum: http://www.stresslinux.org/sl/

Streslinux, memtest, fedora için stres gibi çözümleri denemeden sonra, çok büyük bağımlılıklar olmadan doğrudan linux altında çalışan araçları kontrol etmeye devam edeceğim.

Cevaplarınız için teşekkürler, araştırmaya devam edeceğim


Bize çalıştığınız linux dağıtımını sağlarsanız yardımcı olur. Bir sunucu veya masaüstü dağıtımı mı kullanıyorsunuz? XServer içerir mi?
Jason Huntley

Ben meşgul kutusu ile linux 3.0 çıplak metal kullanın, rootfs nfs üzerinde, bu yüzden bir kol çapraz derleyici ile başka bir ana bilgisayardan araçları derlemek. XServer yok.
moul

Yanıtlar:


13

İşte ram'ı test etmenin yolu: ilk önce iki tmpfs (varsayılan olarak tmpfs ramın yarısıdır):

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

Boş belleği ve boş alanı kontrol edin:

# 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

Şimdi tmpfs'yi dd ile doldurun:

# 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

Belleğinizin gerçekten dolu olup olmadığını kontrol edebilirsiniz:

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

Şimdi çeşitli testler çalıştırabilirsiniz, örneğin her iki geçici dosyanın da doğrudan, md5sum, sha1sum vb.

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

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

Sıcaklık izleme hakkında, sadece lm sensörlerini biliyorum. Özel donanımınızı yönetip yönetmediğini bilmiyorum, ama muhtemelen yine de deneyebilirsiniz.


4
Bu kıyaslama CPU önbelleğinden etkilenecektir, ancak iyi bir fikirdir.
Mircea Vutcovici

2
Kendimi test etmedi, ama Mircea muhtemelen haklı: bu yüzden bunu yapmak için ücretsiz pagecaches, dentries ve inode için "echo 3> / proc / sys / vm / drop_caches" olur.
Manuel

Bunlar CPU önbellekleri değil dosya sistemi önbellekleridir.
Mircea Vutcovici

1
+1 Bu ddyöntem (eski bir AMD Athlon 64 3200+ üzerinde) bana bellek saat hızındaki değişikliklerle tutarlı bir şekilde orantılı sonuçlar verdi, bu da yeterince iyi olduğu anlamına geliyor. Yine de, neden tüm sistem belleğini tıkamak istediğinizden emin değilim /dev/zero- bunu yapmaya çalıştığımda sistemim dondu.
Lumi

3
Bunu VPS sağlayıcılarını karşılaştırmak için kullandığım basit bir bash betiğinde uyarladım - bitbucket.org/snippets/danielsokolowski/G5oeA
Daniel Sokolowski

7

Linux / arm altında RAM'i (ECC yok) karşılaştırmanın mümkün olan en iyi yolları nelerdir?

RamSpeed, farkında olduğum tek çok platformlu bellek karşılaştırma aracıdır. Destekleniyorsa, kol için derleyebilirsiniz:

http://alasir.com/software/ramspeed/ , eski bağlantı öldü, şunu kullanın:

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

Desteklenmiyorsa, akışı kullanarak karşılaştırma yapabilirsiniz:

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

özel bir kartta ECC olmayan bellek yongalarının bütünlüğünü ve global performansını test etmek istiyorum

Burada, birçok durumda memtest'i bütünlük kontrolü için kullandım ve harika çalışıyor:

http://www.memtest.org/

* Not, ben sadece destek bu Arm okudum. Ancak, bir Kol üzerinde test yapmadım.

Sistem ve küresel sıcaklığı aynı anda izleyebilmem için linux altında çalışan bazı araçlar var mı?

Kullandığınız dağıtım yum'ı destekliyorsa, lm_sensors'ı kolayca yükleyebilirsiniz:

yum install Instagram Hesabındaki Resim ve Videoları lm_sensors

Ayrıca şu adresten indirip derleyebilirsiniz: http://www.lm-sensors.org/

Ancak, mmemory'nizle ilgili sıcaklık verileri sağlayacağından emin değilim. Anakartınızda ayrıca mem sıcaklığını okumak için sensörler olmalıdır.

Genel olarak ECC'ye özgü olmayan bazı testler var mı?

memtest, hem ECC hem de ECC dışı testleri içerir

Sadece deneyebileceğin son bir şeyi hatırladım. Kol mimarisi veya rpm için fedora alın. İşlemcinizi ve belleğinizi stres testine tabi tutacak stres paketini çalıştırabilirsiniz:

gerilme-1.0.4-4.fc13.armv5tel.rpm

Meşgul kutusunda bir rpm yükleyici varsa, paket RPM'lerinden birini fedora dağıtımından dağıtabilirsiniz.


RAMspeed bağlantısının şimdi spam içerikli web sitelerine nasıl yönlendirildiği ilginç.
Ciro Santilli 事件 改造 中心 法轮功 六四 事件

Evet, siteleri gitmiş gibi görünüyor, bağlantı github güncelleniyor.
Jason Huntley

1

Wazoox'un önerdiği gibi / tmp gibi varolan bir tmpfs'ye bir dosya yazın, ancak boyutunu boş belleğinizin yarısından daha azıyla sınırlayın.

İlk olarak, ne kadar kullanılabilir bellek olduğunu bulun:

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

Ardından, 1MB 4000 blok kullanarak toplamda 4GB bir dosya yazın:

> 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

Bu şekilde takastan kaçınacaksınız ve hiçbir şey monte etmeye gerek yok.


tmpfsRHEL6 / 7 makinelerimin hızını yapay olarak sınırlayan bir şey var gibi görünüyor . Bu komutu dört kanallı DDR3-1866 makinede, dörtlü kanal DDR4-2666 makinede veya yalnızca iki bellek kanalının bulunduğu aynı makinede çalıştırdığımda sizinle aynı 4GB / sn'yi alıyorum. Bunlar 4GB / s değil, sırasıyla 60, 85 ve 42GB / s'de belleğe yazılmalıdır.
Mark Booth

Dd sadece sabit bir bekleme aralığına sahip döngüler yapıyor ve böylece tüm eylemin hızını sınırlıyor olabilir. Bunu başka bir şekilde deneyin: dd if = / dev / zero of = / tmp / testfs bs = 4000M sayısı = 1
baldrianbandit

Çok garip, çeşitli bsve counts ile denedim ve en iyi kombinasyon ile oldu bs=512Kama asla STREAM benchmark ile 43GB / s veren bir makinede 4.2GB / s'nin üzerine çıkmaz.
Mark Booth

0

Ben u-boot memtest kullandım, iki test vardır (u-boot / common / cmd_mem.c bakın):

İlk test basittir (yazma, kontrol etme), ikinci test tarafından etkinleştirilir #define CONFIG_SYS_ALT_MEMTEST 1ve daha fazla test eklenir,

u-boot bellek alanından sonra bir başlangıç ​​ofseti (argv [1]) geçirmeye dikkat edin, örn mtest 0x200000.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.