Tenho certeza de que o quadro é mais lento que o desktop em termos de hardware. Mas a urandom piora.
A placa está usando uma CPU de 500MHz contra uma CPU de desktop de 2-3GHz. Com if=/dev/urandom
, seu teste é mais sobre a rapidez com que o sistema pode lidar com urandom
. Você está comparando o desempenho da CPU, não a E / S.
Além disso, se a placa tiver apenas 256M de RAM, o SO poderá começar a trocar ao criar o arquivo de disco de 100M. Se isso acontecer, terá um grande impacto no resultado do teste. Talvez teste com arquivo 50M.
Use if = / dev / zero
Não use if=/dev/urandom
. É uma chamada muito cara para este teste. Em vez disso, use if=/dev/zero
.
Teste 1 - Escreva 100M no disco
A seguir está o resultado do meu teste de uma máquina virtual, também escrevendo 100M.
if = / dev / zero
john@U64D211:~$ time dd count=100 bs=1M if=/dev/zero of=test
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.493612 s, 212 MB/s
real 0m0.540s
user 0m0.020s
sys 0m0.516s
if = / dev / urandom
john@U64D211:~$ rm test
john@U64D211:~$ time dd count=100 bs=1M if=/dev/urandom of=test
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 10.8723 s, 9.6 MB/s
real 0m10.909s
user 0m0.004s
sys 0m10.893s
john@U64D211:~$
Teste 2 - Escreva 100M para / dev / null
Para mostrar como é caro o urandom, vamos escrever para / dev / null, portanto, não é necessário gravar no disco.
if = / dev / zero
john@U64D211:~$ time dd count=100 bs=1M if=/dev/zero of=/dev/null
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.0240906 s, 4.4 GB/s
real 0m0.061s
user 0m0.012s
sys 0m0.052s
if = / dev / urandom
john@U64D211:~$ time dd count=100 bs=1M if=/dev/urandom of=/dev/null
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 10.4979 s, 10.0 MB/s
real 0m10.555s
user 0m0.024s
sys 0m10.513s
Portanto, ao gravar em /dev/null
, quase 99% do tempo é gasto por urandom
de chamada do sistema.
PS1 : a VM tem 4G de RAM.
PS2 : O armazenamento em cache do arquivo pode afetar o resultado do teste, mas a diferença entre a opção if
é tão grande que é seguro ignorar o fator de armazenamento em cache. E o efeito deve se aplicar a ambos os casos de qualquer maneira.
PS3 : não calculei a média dos resultados do teste. Mas eu corri cada várias vezes com resultados muito semelhantes.