Bir memtest çalışmasının istatistiklerini nasıl yorumlarım?


63

Hatalı bir bellek modülüne sahip olduğundan şüphelendiğim bir defterim var. Bu nedenle Memtest86 + 'yı indirdim ve çalışmasına izin verdim .

Ekran görüntüsünün gerçek değil, memtest86 +

memtest

Ekrandaki sayıları nasıl yorumlayabilirim? Dört saat kadar çalışmasına izin verdim ve şimdi 7 numaradayım.

Özellikle, ne yapar

  • test numarası
  • Hataların sayısı
  • ECC hatalarının sayısı

işaret? Bellek hataları için akıl sağlığı değerleri nelerdir? Hangi noktada bellek değiştirmeyi düşünmeliyim?


3
Belleği herhangi bir hatayla kullanmaya devam etmek istiyor musun?
Daniel Beck

4
Sadece bir tavsiye :). Memtest'teki hataları yoksaymayın. RAM'deki yalnızca bir küçük hata, işletim sistemini tamamen kırabilir ve veri kaybına neden olabilir.
Rufo El Magufo

2
Eğer büyük yanıp sönen kırmızı alanlar görmüyorum Genellikle eğer tüm iyi :-) var
Col

5
Hatalar hafızada belirli bir alanla sınırlı kalmıştır ve Linux kullanıyorsanız burada belirtildiği gibi, bu alanları görmezden çekirdek söyleyebilir: gquigs.blogspot.com/2009/01/bad-memory-howto.html Eğer Windows kullanıyorsanız, hatalar tutarlı bir alanda değil ya da çok fazla varsa yeni RAM almalısınız.
user55325 21:11

4
Ayrıca, eğer hafıza kartı bozulmaya başlarsa, daha fazla alanın arızalanması mümkündür. Bellek, sürekli olarak av veri bozulmalarına ve sistem çökme sorunlarına neden olma maliyetine kıyasla ucuzdur.
Zds

Yanıtlar:


82

TL; DR

İlk önce en önemli sayı: Sağlıklı hafıza için hata sayısı 0 olmalıdır . 0'ın üzerindeki herhangi bir sayı, hasarlı / hatalı sektörleri gösterebilir.


Ekran açıklaması

     Memtest86+ v1.00      | Progress of the entire pass (test series)
CPU MODEL and clock speed  | Progress of individual, current test
Level 1 cache size & speed | Test type that is currently running
Level 2 cache size & speed | Part of the RAM (sector) that is being tested
RAM size and testing speed | Pattern that is being written to the sector
Information about the chipset that your mainboard uses
Information about your RAM set-up, clock speed, channel settings, etc.

WallTime   Cached  RsvdMem   MemMap   Cache  ECC  Test  Pass  Errors  ECC Errs
---------  ------  -------  --------  -----  ---  ----  ----  ------  --------
Elapsed    Amount  Amount    Mapping  on     on   Test  # of  # of    # of ECC
time       of RAM  of        used     or     or   type  pass  errors  errors
           cached  reserved           off    off        done  found   found
                   RAM, not
                   tested

Veri / Test açıklaması

MemTest çok sayıda test yapar, hafızanın her kesimine özel desen yazar ve onu alır. Alınan veriler başlangıçta depolanan verilerden farklıysa, MemTest bir hatayı kaydeder ve hata sayısını bir artırır . Hatalar genellikle hatalı RAM şeritlerinin işaretidir.

Bellek sadece bilgi tutan fakat önbellekleme gibi gelişmiş fonksiyonlara sahip bir not defteri olmadığı için, çeşitli testler yapılır. Gösteren budur Test #. MemTest, hata olup olmadığını görmek için çeşitli testler yapar.

Bazı (basitleştirilmiş) test örnekleri:

  • Bu sırada test sektörleri: A, B, C, D, E, F (Seri)
  • Bu sırada test sektörleri: A, C, E, B, D, F (Hareketli)
  • Tüm sektörleri desenle doldurun: aaaaaaaa
  • Tüm sektörleri rastgele bir desenle doldurun.

Tüm testlerin daha ayrıntılı açıklaması: https://www.memtest86.com/technical.htm#detailed

Test 0 [Adres testi, yürüme olanlar, önbellek yok]

Yürüyen bir adres kalıbı kullanarak tüm bellek bankalarındaki tüm adres bitlerini test eder.

Test 1 [Adres testi, kendi adresi, Sıralı]

Her adres kendi adresi ile yazılır ve sonra tutarlılığı kontrol edilir. Teorik olarak önceki testler problemleri çözen herhangi bir hafızayı yakalamalıydı. Bu test, bir şekilde daha önce tespit edilmemiş olan adresleme hatalarını yakalamalıdır. Bu test, mevcut her bir CPU ile sıralı olarak yapılır.

Test 2 [Adres testi, kendi adresi, Paralel]

Test 1 ile aynıdır, ancak test tüm CPU'ları ve örtüşen adresleri kullanarak paralel olarak yapılır.

Test 3 [Hareketli inversiyonlar, olanlar ve sıfırlar, Sıralı]

Bu test, herkesin ve sıfırın desenleriyle birlikte hareketli inversiyon algoritmasını kullanır. Önbellek, test algoritmasına bir dereceye kadar müdahale etse bile etkindir. Önbellek etkin durumdayken bu test uzun sürmez ve hızlı bir şekilde tüm "zor" hatalarını ve bazı daha ince hataları bulmalıdır. Bu test sadece hızlı bir kontrol. Bu test, mevcut her bir CPU ile sıralı olarak yapılır.

Test 4 [Hareketli inversiyonlar, olanlar ve sıfırlar, Paralel]

Test 3 ile aynıdır, ancak test tüm CPU'ları kullanarak paralel olarak yapılır.

Test 5 [Hareketli inversiyonlar, 8 bit pat]

Bu, test 4 ile aynıdır, ancak “yürüme” olanları ve sıfırları kapsayan 8 bit genişliğinde bir kalıp kullanır. Bu test "geniş" bellek yongalarındaki ince hataları daha iyi tespit edecektir.

Test 6 [Hareketli inversiyonlar, rastgele desen]

Test 6, test 4 ile aynı algoritmayı kullanır, ancak veri deseni rastgele bir sayıdır ve tamamlayıcısıdır. Bu test özellikle verilere duyarlı hataları tespit etmekte zorlanmada etkilidir. Rastgele sayı dizisi, her geçişte farklıdır, bu yüzden çoklu geçişler etkinliği arttırır.

Test 7 [Blok hareketi, 64 hamle]

Bu test blok taşıma (movsl) komutlarını kullanarak hafızayı zorlar ve Robert Redelmeier'in burnBX testine dayanır. Bellek, her 8 bayta ters çevrilmiş değişen desenlerle başlatılır. Daha sonra movsl komutu kullanılarak 4mb bellek bloğu hareket ettirilir. Hareketler tamamlandıktan sonra veri desenleri kontrol edilir. Veriler yalnızca bellek hareketleri tamamlandıktan sonra kontrol edildiğinden, hatanın nerede oluştuğunu bilmek mümkün değildir. Bildirilen adresler yalnızca hatalı modelin bulunduğu yer içindir. Hareketler 8mb'lık bir bellek segmentiyle sınırlandırıldığından, başarısız olan adres rapor edilen adreste her zaman 8mb'den daha az olacaktır. Bu sınamadaki hatalar BadRAM kalıplarını hesaplamak için kullanılmaz.

Test 8 [Hareketli inversiyonlar, 32 bit pat]

Bu, arka arkaya gelen her adres için veri desenini bir bit sola kaydıran hareketli ters çevirme algoritmasının bir varyasyonudur. Başlangıç ​​biti pozisyonu her geçiş için sola kaydırılır. Tüm olası veri modellerini kullanmak için 32 geçiş gereklidir. Bu test verilere duyarlı hataları tespit etmede oldukça etkilidir ancak uygulama süresi uzundur.

Test 9 [Rastgele sayı sırası]

Bu test belleğe bir dizi rasgele sayı yazar. Rastgele sayı için tohum sıfırlanarak, referans için aynı sayı dizisi oluşturulabilir. İlk desen kontrol edilir ve ardından bir sonraki geçişte tekrar tamamlanır ve kontrol edilir. Bununla birlikte, hareketli tersine çevrilmeden farklı olarak test yazma ve kontrol işlemleri sadece ileri yönde yapılabilir.

Test 10 [Modulo 20, olanlar ve sıfırlar]

Modulo-X algoritmasının kullanılması, önbellekten kaynaklanan ters hareketler ve algoritma ile tamponlama girişiminden dolayı tespit edilemeyen hataları ortaya çıkarmalıdır. Testte olduğu gibi, sadece bir tane ve sıfırlar veri desenleri için kullanılmıştır.

Test 11 [Bit bitirme testi, 90 dak, 2 desen]

Bit solma testi tüm belleği bir desenle başlatır ve ardından 5 dakika bekler. Daha sonra herhangi bir hafıza bitinin değişip değişmediğini görmek için hafıza incelenir. Hepsi ve sıfır desen kullanılır.

Kötü sektörler bazen işe yarayabilir ve başka bir zaman çalışmayabilir, çünkü MemTest'in birkaç kez çalışmasına izin verin. Tam geçiş , tamamlanmış bir test dizisidir. (Yukarıdaki test serisi 1-11) Hata olmadan ne kadar başarılı olursanız, MemTest uygulamanız o kadar doğru sonuç verir. Emin olmak için genellikle 5 tur geçiyordum.

Sağlıklı bellek için hata sayısı 0 olmalıdır. 0'ın üzerindeki herhangi bir sayı, hasarlı / hatalı sektörleri gösterebilir.

ECC hata sayısı sadece ECCayarlandığında dikkate alınmalıdır off. ECC, Hata düzeltme kod belleğini temsil eder ve bellek durumundaki yanlış bitleri tespit etmek ve düzeltmek için bir mekanizmadır. RAID veya optik medyada yapılan parite kontrolleriyle hafifçe karşılaştırılabilir. Bu teknoloji oldukça pahalıdır ve muhtemelen sadece sunucu kurulumlarında karşılaşılabilir. ECC sayımı, hafızanın ECC mekanizması tarafından kaç hatanın düzeltildiğini sayar. ECC'nin sağlıklı RAM için çağrılması gerekmemelidir, bu nedenle 0'ın üzerindeki bir ECC hatası da hatalı belleği gösterebilir.


Hata açıklaması

Hatalarla karşılaşan Memtest örneği. Hangi sektör / adresin başarısız olduğunu gösterir.

Hatalı memtest ekranı

Birinci sütun ( Tst ) sayısı, yukarıda belirtilen listeden Test numarasına karşılık gelen bir test başarısız olduğunu gösterir. İkinci sütun ( Geçiş bu test ise) göstermektedir olan geçirilir. Örnekte, test 7'de geçiş yok.

Üçüncü sütun ( Arıza Adresi ), hafızanın hangi kısmının hatalı olduğunu gösterir. Böyle bir parçanın, bir IP adresi gibi, bu veri depolama parçası için benzersiz olan bir adresi vardır. Hangi adresin başarısız olduğunu ve veri yığınının ne kadar büyük olduğunu gösterir. (Örnekte 0,8 MB)

Dördüncü ( İyi ) ve beşinci ( Kötü ) sütunlar, yazılan verileri ve sırasıyla neyin alındığını gösterir. Her iki sütun da hatalı olmayan bellekte eşit olmalıdır (açıkçası).

Altıncı sütun ( Err Bitleri ), kesin olan bitlerin konumunu gösterir.

Yedinci sütun ( Sayı ), aynı adres ve arızalı bitler ile ardışık hataların sayısını gösterir.

Son olarak, son yedi sütun ( Chan ), hafıza şeridinin içinde bulunduğu kanalı (sistemde birden fazla kanal kullanılıyorsa) gösterir.


Hata bulursa

MemTest herhangi bir hata bulursa, hangi modülün hatalı olduğunu belirlemenin en iyi yöntemi bu Süper Kullanıcı sorusu ve kabul edilen cevabında ele alınmıştır:

Eleme işlemini kullanın - modüllerin yarısını kaldırın ve testi tekrar çalıştırın ...

Arıza yoksa, o zaman bu iki modülün iyi olduğunu bilirsiniz, bu yüzden bir kenara koyun ve tekrar test edin.

Hata varsa, o zaman tekrar yarıya (şimdi dört bellek modülünden birine) kesin ve tekrar test edin.

Ancak, bir test başarısız olduğu için, diğerinin başarısız olmadığını varsaymayın (iki başarısız bellek modülüne sahip olabilirsiniz) - iki bellek modülünde bir hata tespit ettiğinizde, her ikisini de ayrı ayrı test edin. .

Önemli not: Bazı anakart satıcılarının bellek araya sokması ve zayıf bellek modülü soket numaralandırma şemaları gibi özelliklerle, hangi modülün belirli bir adresle temsil edildiğini bilmek zor olabilir.


Açıklama için teşekkürler! Lütfen bir hataya karşılık gelen tam RAM modülünü nasıl bulacağınızı cevaplayabilir misiniz? Başarısız adresim eşit 000c34e98dc - 3124.9MB. Neden bu kadar büyük bir yığın boyutu? Bilgisayarımda 2x1Gb ve 2x2Gb modüller var. Hatalara neden olanı nasıl bulabilirim?
Mikhail

@Mikhail Sizi bu soruya ve kabul edilen yanıtına
yönlendirmek isterim

0 hata, hatalı bir RAM anlamına gelmez, bir RAM çubuğunun% 100 puanla memtest'i geçtiği durumlar oldu ve sadece değiştirerek zor bir sorunu çözebilirdim.
Bu Brezilyalı Adam,

3
Onaltılık adresden sonraki MB cinsinden sayı, hatanın boyutu değil, MB'deki hata yeridir. Herhangi bir hatanın boyutunun her zaman tek bir kelime olacağından eminim, çünkü belleğe yazdıkları şeyin boyutu budur.
Jarryd

6

Hata Sayısı

Testlerden geçerken, herhangi bir test için bellek başarısız olursa, hata sayısını artıracaktır. Doğru hatırlıyorsam, testi geçemeyen adresleri sayar.

ECC Hatalarının Sayısı

ECC belleği , verilerin bozulmasını önlemek için kullanılan özel bir tür bellek yongasıdır. Sizin ECC Errskolon ECC tarafından sabitlendi kaç problem sayar.

(ECC yavaş ve pahalıdır ve temel olarak RAM'i değiştirmek için uğraşamayan kritik görev sistemleri içindir.)

Test numarası

Memtest, Memtest86 web sitesinde açıklanan, hafızanızda farklı testler yapar . Sadece hızlı bir düz İngilizce çeviri olarak:

Test 0: Yürüyenler Adres Testi

Memtest 00000001, ilk hafızada 00000010, bir sonraki ve diğer her 8 baytta bir yinelenerek yazacaktır . Sonra belleği okur ve değerin değişmediğinden emin olur. ( Kaynak )

Testler 1 ve 2: Kendi Adres Adres Testi

Memtest her bir hafıza konumunu kendi adresleriyle yazar ve değerin değişmediğini kontrol eder.

Test 1 sıralıdır ve test 2 paraleldir (eşzamanlılık kullanır).

Test 3 ve 4 Hareketli Ters Çevirme Testi

Temelde, bu test 0'ları belleğe yükler ve ardından

  1. hafızanın her yerini alır (ilk / en düşük konumdan başlayarak),
  2. ve desenin tersini yazar (bit bit olduğuna inanmıyorum, ancak bu konuda herhangi bir belge bulamadım).

Buradaki amaç, her biti ve bitişik bitlerini "0 ve 1'lerin olası her bir kombinasyonunu" test etmeye çalışmaktır.

Test 3 eşzamanlılık kullanmaz, test 4 ise.

Test 5: Ters Çevirme, 8 bit Pat

Bu, hareketli ters çevirme yöntemini tekrar yapar, ancak bu kez 8 bitlik bloklarda test 0'dan 1'lerle yürüme.

Test 6: Ters Hareketleri, Rastgele Desen

Memtest, tüm 0'lar yerine 1'leri rastgele sayılar kullanır.

Test 7: Blok hareketi

Bu eğlenceli. Desenleri belleğe yükler, 4mb'lık bloklar halinde hareket ettirir ve doğrular.

Test 8: Ters Çevirme, 32-bit Pat

Test 5 ile aynıdır, ancak bunun yerine 32 bit blok kullanır. Bu aslında her yerde her olası 32-bit değeri yüklüyor.

Sınama 9: Rasgele Sayılar

Bu, sahte rasgele sayıları belleğe yükler ve doğrular. Sözde rasgele sayı üretecinin en güzel yanı, rastgele olmamasıdır (eğer printf("%d", rand());tohumlamadan bir C programında koştuysanız ve rasgele olanı seçtiyseniz 41, ne demek istediğimi anlarsınız). Böylece rastgele sayı ekim makinesini sıfırlayarak ve jeneratörü tekrar çalıştırarak doğrular.

Test 10: Modulo-X

Her 20 konum, bir desen yazar (tümü 0 veya tümü 1) ve tamamlayıcıyı diğer tüm konumlara yazar, sonra doğrular.

Test 11: Bit solma Testi

Bu, RAM’i tüm 1’lerle (ve yine tüm 0'larla) yükler, 5 dakika bekler ve değerlerin herhangi birinin değişip değişmediğini görür.


6

Test numarası: memtest'in şu anda çalıştığı testin numarası. Orada oldukça fazla var.

Hataların sayısı: Karşılaşılan bellek hatalarının sayısı

ECC hataları: ECC tarafından düzeltilen hataların sayısı. Yongasetinizde / belleğinizde ECC yok, bu yüzden önemli değil.

Hafızanızda 0'dan fazla hata varsa, değiştirmek isteyeceksiniz.

EDIT: Testler, hafızada yazan en farklı kalıplardır. Farklı desenleri belleğe yazar ve hataları kontrol etmek için tekrar okur ve tüm bitlerin tüm durumlarını test edebilmek için farklı desenleri kullanır.

Sayım, tekrar memtest'te okunan sonucun, belleğe yazılanla uyuşmadığını gösterir; bu, test edilen hafızada bir hata olduğunu gösterir.

ECC, sunucular ve iş istasyonları için bellek yongalarına yerleşik bir hata düzeltme teknolojisidir. Çoğu masaüstü, ECC yerleşik bellek modüllerini desteklemez. Neredeyse tüm sunucular / iş istasyonları bunun için destek sağlar ve genellikle gerektirir. ECC tarafından düzeltilen hataların sayısı, ECC yongasının başarıyla çözdüğü hataların sayısıdır.

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.