Quais são as melhores maneiras possíveis de testar a RAM (no-ECC) no linux / arm?

17

Eu quero testar a integridade e o desempenho global de chips de memória sem ECC em uma placa personalizada

Existem algumas ferramentas que funcionam no Linux para que eu possa monitorar o sistema e a temperatura global ao mesmo tempo?

Existem alguns testes específicos sem ECC para fazer em geral?

EDIT 1:

Eu já sei como monitorar a temperatura (eu uso um recurso de plataforma especial / sys / devices / platform / ........ temp1_input).

Por enquanto:

  • wazoox: funciona, mas eu tenho que codificar meus próprios testes
  • Jason Huntley:
    • ramspeed: não funciona no braço
    • benchmark de fluxo: funciona e é muito rápido, por isso vou analisar se é preciso e completo
    • memtest: vou tentar depois, já que não roda diretamente do linux
    • estresse para o fedora: vou tentar mais tarde também, é muito problemático para mim instalar o fedora agora

Eu encontrei esta distribuição: link

Eu continuarei a verificar ferramentas que rodam diretamente sob o Linux sem dependências muito grandes, depois eu vou tentar testar soluções como stresslinux, memtest, stress para o fedora.

Obrigado pelas suas respostas, continuarei investigando

    
por moul 21.03.2012 / 16:39

5 respostas

12

Aqui está a maneira que eu às vezes testo o ram: primeiro monte dois tmpfs (por padrão o tmpfs é metade do ram):

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

Verifique a memória livre e o espaço livre:

# 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

Agora preencha o tmpfs com 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

Você pode verificar se a sua memória está realmente cheia:

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

Agora você pode executar vários testes, por exemplo, verificar se os dois arquivos temporários são idênticos, diretamente ou executando md5sum, sha1sum, etc:

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

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

Sobre o monitoramento de temperatura, eu sei apenas dos sensores de lm. Eu não sei se ele gerencia seu hardware específico, mas você provavelmente poderia tentar mesmo assim.

    
por 21.03.2012 / 18:07
7

What are the best possible ways to benchmark RAM (no-ECC) under linux / arm?

O RamSpeed é a única ferramenta de benchmark de memória multiplataforma que conheço. Você pode ser capaz de compilar para armar, se suportado:

link

Se não for suportado, você poderá fazer um benchmark usando o stream:

link

want to test integrity and global performances of no-ECC memory chips on a custom board

Aqui, usei o memtest em várias ocasiões para verificação de integridade e funciona muito bem:

link

* Note, eu só li isso suporta Arm. No entanto, eu não testei em um braço.

Are there some tools that run under linux so I can monitor system and global temperature in the same time ?

Se a distribuição que você está usando suportar o yum, você poderá instalar facilmente o lm_sensors:

yum instala lm_sensors

Você também pode fazer download e compilar aqui: link

No entanto, não tenho certeza de que fornecerá dados de temperatura referentes à sua memória. Sua placa-mãe também precisa ter sensores para ler a temperatura da memória.

Are there some no-ECC specific tests to do in general ?

memtest inclui testes para ECC e não-ECC

Acabei de me lembrar de uma última coisa que você poderia tentar. Obtenha o fedora para arquitetura de armação ou o rpm. Você pode executar o pacote de estresse que testará a CPU e a memória:

stress-1.0.4-4.fc13.armv5tel.rpm

Se o busybox tiver um instalador de rpm, você poderá implantar um dos rpms de braço da distribuição fedora.

    
por 21.03.2012 / 18:20
1

Escreva um arquivo em um tmpfs existente como / tmp com dd como sugerido pelo wazoox, mas limite seu tamanho para menos da metade de sua memória livre.

Primeiro, descubra quanta memória está disponível:

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

Em seguida, escreva um arquivo, nesse caso, 4 GB no total usando 4000 blocos de 1 MB:

> 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

Desta forma, você evitará a troca e não há necessidade de montar nada.

    
por 16.01.2018 / 11:01
0

Eu usei o memtest do u-boot, existem dois testes (veja u-boot / common / cmd_mem.c):

O primeiro teste é simples (escrever, verificar), o segundo teste é ativado por #define CONFIG_SYS_ALT_MEMTEST 1 e adiciona mais testes,

cuide de passar um offset de início (argv [1]) após o espaço de memória do u-boot, ou seja, mtest 0x200000 .

    
por 04.04.2012 / 13:42
-1

Você pode usar o comando hdparm para testar a memória:

hdparm -T /dev/sda

-T parameter description :

Perform timings of cache reads for benchmark and comparison purposes. For meaningful results, this operation should be repeated 2-3 times on an otherwise inactive system (no other active processes) with at least a couple of megabytes of free memory. This displays the speed of reading directly from the Linux buffer cache without disk access. This measurement is essentially an indication of the throughput of the processor, cache, and memory of the system under test.

    
por 02.05.2018 / 16:13