Testar velocidade da memoria ram

existe maneira de testar velocidade de leitura/escrita/cópia da ram seja terminal ou GUI?

1 Curtida

tmpfs talvez? Com certeza deve ter app que faz isso, não conheço nenhum com essa finalidade

Tem o programa GTK Stress Testing que tem essa função (rode o teste e vai aparecer em Memory -> Speed). O @fastos2016 tem um tutorial pra instalar via flatpak, estou pingando ele.


Via terminal, você pode aferir isso com o comando dd:

Por exemplo:
dd if=/dev/zero of=/dev/null bs=100K count=2000
(caso tenha swap no disco, rode várias vezes pra “engatar” a RAM)

No meu PC, a saída é:

2000+0 registros de entrada
2000+0 registros de saída
204800000 bytes (205 MB, 195 MiB) copiados, 0,00846686 s, 24,2 GB/s

Taí a resposta (ou se quiser um número mais preciso, divida a quantidade de megas pelo tempo).

Explicação
dd - comando que duplica dados.
if=/dev/zero - usar como fonte de informação o arquivo /dev/zero, que é basicamente um arquivo “fictício” cheio de zeros. Como esses zeros são gerados sob demanda em vez de ficarem “esperando” no disco, não tem latência. Vai servir pra nosso teste.
of=/dev/null - despejar no arquivo, também “fictício”, /dev/null, que é o “buraco negro”: tudo que vai lá é imediatamente descartado.
bs=100K - copiar 100 quilobytes de cada vez (use M para megas, por exemplo, 4M = 4 megabytes; e b para bytes, por exemplo 200b = 200 bytes).
count=2000 - copiar 2000 vezes (2000 vezes 100KB no caso, dando ~200 megas. Pode ser qualquer número).

Escolha count com sabedoria, pois se você pegar um valor baixo demais pode dar uma margem de erro gigante no tempo que o programa roda, dandos valores altos demais. O bs mede quanto valor deve ser acumulado na RAM antes de ser descartado, quanto menor mais próximo do valor teórico máximo e menos da RAM o teste efetivamente exige.

Esse comando dá um valor teórico máximo! Lembre-se que diferente do /dev/zero, os programas fazem contas - e contas bem complicadas - na RAM, diminuindo o desempenho real em várias ordens de magnitude.

1 Curtida

gtkstresstesting eu tenho mas ele n faz o teste que quero, seria similar ao aida64 aquele teste que tem nele de memoria, de benchmark e tal.

Se você quer um benchmark estilo AIDA64 para RAM, com aquelas três coluninhas de copy, read e write a sua melhor opção é o Stream de terminal.

Para obter os resultados mais precisos possíveis, é preciso compilá-lo na máquina mesmo.

Instale o Git e o GCC (se eu não me engano, no Mint é sudo apt install git build-essential)

Em seguida, faça os seguintes comandos:

git clone 'https://github.com/yilongli/STREAM.git'
cd STREAM
make
~/STREAM/stream

No meu sistema:

Function    Best Rate MB/s  Avg time     Min time     Max time
Copy:            9914.8     0.163140     0.161375     0.169914
Scale:           9913.1     0.162852     0.161402     0.175413
Add:            10960.0     0.220645     0.218977     0.227305
Triad:          10955.2     0.220751     0.219074     0.228699
Read:           16954.7     0.048101     0.047185     0.056371
  • Lembre-se que o AIDA64 pode estar usando um teste diferente; compile o STREAM no Windows para ter certeza (com Visual Studio de C/C++, por exemplo).
  • Libere a RAM o máximo possível, esse programinha vai comer 2GB.

Para rodar o teste de novo, só repetir o último comando.

1 Curtida

interessante, rodei aqui e deu isso, no caso do aida64 deve ser diferente mesmo