existe maneira de testar velocidade de leitura/escrita/cópia da ram seja terminal ou GUI?
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. Obs
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.
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.