Não sei se hdparm -T
/ hdparm -t
funcionaria corretamente em um cartão SD, mas vale a pena tentar.
Estou correndo petalinux do cartão SD. E tentando encontrar taxa de cópia de dados do cartão SD e do flash QSPI que está lá na placa Xilinx Zynq.
Como sugerido aqui , estou fazendo assim:
root@Xilinx-ZC702-14_7:/dev# echo 1 > /proc/sys/vm/drop_caches
root@Xilinx-ZC702-14_7:/dev# dd if=/dev/mtd2 of=/dev/null bs=128k count=200
84+0 records in
84+0 records out
Mas, de acordo com o link acima, ele também deve imprimir as seguintes linhas:
26214400 bytes (25.0MB) copied, 5.971374 seconds, 4.2MB/s
Isso dá uma ideia da taxa em que o flash funciona.
Por que esta linha está faltando no meu caso? Existe algum alterantivo para saber essa taxa?
Não sei se hdparm -T
/ hdparm -t
funcionaria corretamente em um cartão SD, mas vale a pena tentar.
A exibição da taxa de transferência é um recurso da versão de dd
do GNU coreutils que é encontrado no Linux não integrado. O PetaLinux usa o pacote de utilitários BusyBox e seu dd
não possui esse recurso.
Você pode usar o utilitário time
para medir o tempo total e dividir a quantidade de dados por essa figura. Infelizmente, o utilitário time
do BusyBox é complicado de analisar.
bytes=$((128*200*1024))
time head -c $bytes 2>&1 |
awk -F '[^.0-9]+' -v bytes=$bytes '
/^sys\t[0-9]*m [0-9.]*s$/ {
sys_time = $1 * 60 + $2;
}
{print}
END {printf "Throughput: %f MB/s\n", bytes / 1048576.0 / sys_time}'