memtest 실행 통계를 어떻게 해석합니까?


63

여기에 노트북이 있는데 여기에는 잘못된 메모리 모듈이 있다고 의심됩니다. 나는 그러므로 다운로드했다. Memtest86 + 그것을 실행하게하십시오.

스크린 샷은 내 실제 화면이 아니므로 memtest86 +

memtest

화면의 숫자를 어떻게 해석합니까? 나는 그것이 약 4 시간 동안 달릴 것이고, 이제 나는 패스 7에있다.

특히, 무엇을합니까?

  • 시험 번호
  • 오류 수
  • ECC 오류 수

가리키다? 메모리 오류에 대한 정상적인 값은 무엇입니까? 어느 시점에서 메모리 교체를 고려해야합니까?


3
오류가있는 메모리를 계속 사용하고 싶습니까?
Daniel Beck

4
오직 조언 :). memtest의 오류를 무시하십시오. RAM에 약간의 오류가 있어도 전체 운영 체제가 손상되고 데이터가 손실 될 수 있습니다.
Rufo El Magufo

2
일반적으로 큰 빨간색 점멸 영역이 보이지 않으면 모든 것이 좋습니다 :-)
Col

5
오류가 메모리의 특정 영역으로 제한되어 있고 Linux를 실행중인 경우 여기에 지정된대로 해당 영역을 무시하도록 커널에 알릴 수 있습니다. gquigs.blogspot.com/2009/01/bad-memory-howto.html Windows를 실행하는 경우 오류가 일관된 영역에 없거나 너무 많은 경우 새 RAM을 확보해야합니다.
user55325

4
또한, 메모리 스틱이 실패하기 시작하면 점점 더 많은 영역에 결함이 발생할 가능성이 있습니다. 메모리는 반복적으로 데이터 손상 및 시스템 충돌 문제를 해결하는 데 드는 비용과 비교할 때 저렴합니다.
Zds

답변:


79

TL, DR

가장 중요한 번호부터 : 정상 메모리의 오류 수는 0이어야합니다. . 0 이상의 숫자는 손상되었거나 결함이있는 섹터를 나타낼 수 있습니다.


화면 설명

     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

데이터 / 테스트 설명

MemTest는 여러 가지 테스트를 실행하여 메모리의 모든 섹터에 특정 패턴을 작성하고 검색합니다. 검색된 데이터가 원래 저장된 데이터와 다른 경우 MemTest는 오류를 등록하고 오류 수 하나씩. 오류는 대개 잘못된 RAM 스트립의 흔적입니다.

메모리는 정보를 보유하고 있지만 캐싱과 같은 고급 기능을 가진 메모장이 아니기 때문에 몇 가지 다른 테스트가 수행됩니다. 이것은 Test # 나타냅니다. MemTest는 여러 가지 다른 테스트를 실행하여 오류가 발생하는지 확인합니다.

일부 (단순화 된) 테스트 예제 :

  • 테스트 섹터 : A, B, C, D, E, F (연속)
  • 테스트 섹터 : A, C, E, B, D, F (이동)
  • 패턴으로 모든 섹터 채우기 : aaaaaaaa
  • 모든 섹터를 임의 패턴으로 채 웁니다.

모든 테스트에 대한 자세한 설명은 다음과 같습니다. https://www.memtest86.com/technical.htm#detailed

테스트 0 [주소 테스트, 워킹 것들, 캐쉬 없음]

걷는 메모리 뱅크를 사용하여 모든 메모리 뱅크의 모든 주소 비트를 테스트합니다.   주소 패턴.

테스트 1 [주소 테스트, 자체 주소, 순차]

각 주소는 고유 한 주소로 기록 된 다음 확인됩니다   일관성을 위해. 이론적으로 이전의 테스트는   메모리 어드레싱 문제. 이 테스트는 어떤 주소 지정   이전에 감지되지 않은 오류. 이 테스트가 완료되었습니다.   사용 가능한 각 CPU를 순차적으로 사용합니다.

테스트 2 [주소 테스트, 자체 주소, 병렬]

테스트 1과 동일하지만 모든 CPU를 사용하여 테스트가 병렬로 수행됩니다.   중복 주소를 사용하는 것입니다.

테스트 3 [이동 반전, 1 및 0, 순차]

이 테스트에서는 다음과 같은 패턴의 이동 반전 알고리즘을 사용합니다.   모든 1과 0 캐시가 일부 캐시를 방해하더라도 활성화됩니다.   학위와 함께 테스트 알고리즘. 캐시가 활성화 된 상태에서이 테스트는   오래 걸리고 모든 "어려운"오류와 더 빨리 발견해야합니다.   미묘한 오류. 이 검사는 빠른 검사 일뿐입니다. 이 테스트가 완료되었습니다.   사용 가능한 각 CPU를 순차적으로 사용합니다.

시험 4 [이동 반전, 1 및 0, 평행]

테스트 3과 동일하지만 모든 CPU를 사용하여 테스트가 병렬로 수행됩니다.

테스트 5 [이동 반전, 8 비트 패트]

이는 테스트 4와 동일하지만 8 비트 폭의 패턴을 사용합니다.   "걷는 것"1과 0. 이 테스트는 미묘한 오류를 더 잘 감지합니다.   "와이드"메모리 칩.

시험 6 [이동 반전, 무작위 패턴]

테스트 6은 테스트 4와 동일한 알고리즘을 사용하지만 데이터 패턴은   난수와 그것의 보완. 이 검사는 특히 효과적입니다.   데이터에 민감한 오류를 감지하기가 어렵습니다. 랜덤   번호 순서가 각 패스마다 다르기 때문에 여러 패스가 있습니다.   효과를 증대시킨다.

테스트 7 [블록 이동, 64 이동]

이 테스트는 블록 이동 (movsl) 명령어를 사용하여 메모리를 강조합니다.   Robert Redelmeier의 burnBX 테스트를 기반으로합니다. 메모리가 초기화되었습니다.   8 바이트마다 반전되는 시프 팅 패턴이 있습니다. 그런 다음 4MB   메모리 블록은 movsl 명령을 사용하여 주위를 이동합니다. 후   이동이 완료되면 데이터 패턴이 검사됩니다. 왜냐하면   메모리 이동이 완료된 후에 만 ​​데이터가 검사됩니다.   오류가 발생한 위치를 알 수 있습니다. 보고 된 주소는 다음과 같습니다.   나쁜 패턴이 발견 된 곳에서만. 움직임이   메모리의 8MB 세그먼트로 제한되면 실패한 주소는 항상   보고 된 주소에서 8mb 미만 떨어져 있어야합니다. 이 테스트의 오류   BadRAM 패턴을 계산하는 데 사용되지 않습니다.

테스트 8 [이동 반전, 32 비트 패트]

이것은 이동하는 역전 알고리즘의 변형입니다.   데이터 패턴은 각 연속 어드레스에 대해 1 비트 남았습니다. 그만큼   시작 비트 위치는 각 패스마다 왼쪽으로 시프트됩니다. 모두 사용하려면   가능한 데이터 패턴은 32 패스가 필요합니다. 이 테스트는   데이터에 민감한 오류를 탐지하는데 효과적이지만 실행 시간은   긴.

시험 9 [난수 시퀀스]

이 테스트는 일련의 난수를 메모리에 씁니다. 으로   난수의 시드를 동일한 수의 시퀀스로 재설정합니다.   참조 용으로 만들 수 있습니다. 초기 패턴을 확인하고   다음 보충에서 보완되고 다시 검사됩니다. 그러나, 달리   이동 역전 시험 쓰기 및 점검은   정방향.

시험 10 [Modulo 20, ones & amp; 제로]

Modulo-X 알고리즘을 사용하면   캐시 및 버퍼링 간섭으로 인버트가 이동하여 감지 됨   알고리즘과. 테스트 1과 마찬가지로 1과 0 만 사용됩니다.   데이터 패턴.

테스트 11 [비트 페이드 테스트, 90 분, 2 패턴]

비트 페이드 테스트는 모든 메모리를 패턴으로 초기화하고   그런 다음 5 분 동안 잔다. 그런 다음 메모리가 검사되어   메모리 비트가 변경되었습니다. 모든 패턴과 모든 패턴이 사용됩니다.

불량 섹터가 때때로 작동하고 다른 시간에 작동하지 않을 수 있으므로 MemTest가 몇 번 통과하도록하는 것이 좋습니다. 가득 찬 패스 통과 된 완성 된 테스트 시리즈입니다. (위의 테스트 시리즈 1-11) 오류없이 더 많은 패스를 받으려면 MemTest를보다 정확하게 실행하십시오. 나는 보통 약 5 패스를 달린다.

오류 개수 건강한 기억은 0이어야합니다. 0보다 큰 숫자는 손상되었거나 결함이있는 섹터를 나타낼 수 있습니다.

ECC 오류 수 다음과 같은 경우에만 고려해야합니다. ECC 에 설정 됨 off. ECC는 오류 수정 코드 메모리의 약자이며 메모리 상태에서 잘못된 비트를 감지하고 수정하는 메커니즘입니다. RAID 또는 광 매체에서 수행 된 패리티 검사와 약간 비교할 수 있습니다. 이 기술은 비용이 많이 들고 서버 설정에서만 발생할 수 있습니다. ECC 카운트는 메모리의 ECC 메커니즘에 의해 수정 된 오류 수를 계산합니다. 정상적인 RAM에서는 ECC를 호출해서는 안되기 때문에 ECC 오류 수가 0보다 높으면 잘못된 메모리를 나타낼 수 있습니다.


오류 설명

오류가 발생한 Memtest의 예. 어떤 섹터 / 주소가 실패했는지를 보여줍니다.

Memtest screen with errors

첫 번째 열 ( Tst )는 실패한 테스트를 보여 주며, 숫자는 이미 위에서 언급 한 목록의 테스트 번호에 해당합니다. 두 번째 열 ( 패스 )는 해당 테스트가 있다 통과했다. 예제의 경우, 테스트 7에는 패스가 없습니다.

세 번째 열 ( 실패 주소 )는 메모리의 어느 부분에 오류가 있는지 정확하게 보여줍니다. 이러한 부분은 IP 주소와 마찬가지로 주소를 가지며 이는 해당 데이터 저장소에 고유합니다. 실패한 주소와 데이터 청크의 크기를 표시합니다. (예제에서 0.8MB)

네 번째 ( 좋은 )와 다섯 번째 ( 나쁜 ) 열에는 기록 된 데이터와 각각 검색된 데이터가 표시됩니다. 두 열 모두 오류가없는 메모리에서 동일해야합니다 (분명히).

여섯 번째 열 ( 오류 비트 )는 실패한 정확한 비트 위치를 보여줍니다.

일곱 번째 열 ( 카운트 )는 동일한 주소와 실패한 비트를 가진 연속적인 오류의 수를 나타냅니다.

마침내 마지막 7 번째 열 ( )는 메모리 스트립이 들어있는 채널 (시스템에서 여러 채널이 사용되는 경우)을 표시합니다.


오류가 발견되면

MemTest가 오류를 발견하면, 모듈에 결함이 있음 이 수퍼 유저 질문 및 그것의 받아 들인 응답 :

제거 프로세스 사용 - 모듈 절반을 제거하고 실행   다시 시험 ...

실패가 없다면이 두 모듈이   좋아, 그래서 그들을 옆에두고 다시 테스트하십시오.

실패가 있으면 반으로 줄입니다 (아래로   이제 4 개의 메모리 모듈)를 다시 테스트합니다.

하지만, 하나의 테스트가 실패했기 때문에 다른 테스트가 실패했다고 가정하지 마십시오.   실패하지 않습니다 (두 개의 실패한 메모리 모듈을 가질 수 있음) - 어디에서   두 개의 메모리 모듈을 사용하여 장애가 감지되면 각 모듈을 테스트하십시오.   나중에 두 개.

중요 참고 사항 : 메모리 인터리빙, 불량   일부 마더 보드 공급 업체의 메모리 모듈 소켓 번호 지정 방식   주어진 모듈이 어떤 모듈인지를 아는 것은 어려울 수 있습니다.   주소.


설명 주셔서 감사합니다! 오류에 해당하는 정확한 RAM 모듈을 찾는 방법에 대해 답변 해 주시겠습니까? 실패 주소가 다음과 같습니다. 000c34e98dc - 3124.9MB. 왜 그렇게 큰 청크 크기? 내 PC에 2x1Gb 및 2x2Gb 모듈이 있습니다. 실패의 원인을 찾는 방법?
Mikhail

@Mikhail 나는이 질문과 그것의 받아 들여진 응답에 당신을 소개하고 싶으면 : 수퍼 유저 /questions/253875/...
BloodPhilia

0 오류가 잘못된 RAM을 의미하지는 않습니다. RAM 스틱이 100 % 점수로 memtest를 통과 한 경우에만이를 대체하여 까다로운 문제를 해결할 수있었습니다.
That Brazilian Guy

3
16 진수 주소가 오류 크기가 아닌 바이트 수 (MB 단위의 오류 위치)입니다. 나는 하나의 오류의 크기가 항상 한 단어가 될 것이라고 확신한다. 왜냐하면 그것이 메모리에 쓰는 크기이기 때문이다.
Jarryd

6

오류 수

테스트를 진행할 때 메모리가 테스트에 실패하면 오류 수가 증가합니다. 올바르게 회신하면 테스트에 실패한 주소의 수가 계산됩니다.

ECC 오류 수

ECC 메모리 데이터가 손상되지 않도록하는 데 사용되는 특별한 종류의 메모리 칩입니다. 너의 ECC Errs 열은 ECC가 해결 한 문제 수를 계산합니다.

(ECC는 느리고 비용이 많이 들며 기본적으로 RAM을 스왑 아웃 할 수없는 중요한 시스템을위한 것입니다.)

시험 번호

Memtest는 당신의 기억에 대한 여러 종류의 검사를합니다. Memtest86 웹 사이트. 빠른 영어 번역과 마찬가지로 :

테스트 0 : 워킹 온 주소 테스트

Memtest 작성합니다 00000001 상기 제 1 메모리 위치에서, 00000010 다음, 등등,이 패턴을 8 바이트마다 반복합니다. 그런 다음 메모리를 읽고 값이 변경되지 않았는지 확인합니다. ( 출처 )

테스트 1 및 2 : 자체 어드레스 테스트

Memtest는 각 메모리 위치를 자체 주소로 기록하고 값이 변경되지 않았는지 확인합니다.

테스트 1은 순차적이며 테스트 2는 병렬 (즉, 동시성을 사용)입니다.

테스트 3 및 4 이동 반전 테스트

본질적으로이 테스트는 메모리에 0을로드 한 다음

  1. 메모리의 각 위치를 취합니다 (첫 번째 / 가장 낮은 위치에서 시작).
  2. 패턴의 역함수를 쓴다. (나는 그것이 비트 부정이라고 믿는다. 그러나 그것에 관한 어떤 문서도 찾을 수 없었다).

목표는 모든 비트와 그 인접 비트를 "0과 1의 모든 가능한 조합"으로 테스트하려고하는 것입니다.

테스트 3은 동시성을 사용하지 않지만 테스트 4는 동시성을 사용하지 않습니다.

테스트 5 : 이동 반전, 8 비트 팻

이것은 역전 방법을 다시 수행하지만, 이번에는 8 비트 블록에서 테스트 0에서 1 초를 걷는 것과 같습니다.

시험 6 : 이동 반전, 무작위 패턴

Memtest는 모든 0 또는 도보 1 대신 임의의 숫자를 사용합니다.

테스트 7 : 블록 이동

이 사람의 재미. 패턴을 메모리에로드하고 4MB 블록 단위로 이동 한 다음이를 확인합니다.

테스트 8 : 이동 반전, 32 비트 팻

테스트 5와 같지만 대신 32 비트 블록을 사용합니다. 실제로 모든 위치에서 가능한 모든 32 비트 값을로드합니다.

테스트 9 : 난수

이것은 의사 난수를 메모리에로드하고 검증합니다. 의사 랜덤 넘버 생성기에 대한 멋진 점은 매우 랜덤하지 않다는 것입니다 (만약 당신이 printf("%d", rand()); 씨 뿌림없이 C 프로그램에서 오 - 닥 - 무작위 41을 얻었다면, 당신은 내가 무엇을 의미 하는지를 안다. 따라서 난수 시드를 다시 설정하고 생성기를 다시 실행하여 확인합니다.

시험 10 : 모듈로 -X

매 20 개 위치마다 패턴 (0 또는 1 모두)을 작성하고 다른 모든 위치에 보수를 기록한 다음 확인합니다.

테스트 11 : 비트 페이드 테스트

이것은 RAM을 모두 1로로드하고 (다시 0으로 모두) RAM을로드하고 5 분을 기다린 다음 값이 변경되는지 확인합니다.


6

테스트 번호 : memtest가 현재 실행중인 특정 테스트의 번호. 그들 중 많은 수가 있습니다.

오류 수 : 발생한 메모리 오류 수

ECC 오류 : ECC에서 수정 한 오류 수. 칩셋 / 메모리에 ECC가 없으므로이 번호는 중요하지 않습니다.

메모리에 0보다 많은 수의 오류가있는 경우이를 대체하려고합니다.

편집하다: 테스트는 memtest가 메모리에 쓰는 다른 패턴입니다. 그것은 다른 패턴을 메모리에 기록하고 오류를 확인하기 위해 다시 읽으며 다른 패턴을 사용하여 모든 비트의 모든 상태를 테스트 할 수 있습니다.

이 횟수는 memtest로 읽어 들인 결과가 메모리에 쓴 것과 일치하지 않아 테스트중인 메모리 덩어리에 오류가 있음을 나타냅니다.

ECC는 서버 및 워크 스테이션 용 메모리 칩에 내장 된 오류 수정 기술입니다. 대부분의 dekstops는 ECC가 내장 된 메모리 모듈을 지원하지 않습니다. 거의 모든 서버 / 워크 스테이션에서 ECC를 지원하며 일반적으로 필요합니다. ECC에 의해 정정 된 오류의 수는 ECC 칩이 성공적으로 고쳤던 오류의 수이다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.