dd comando: Encontrando leitura / gravação de um flash / SD?

1

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?

    
por msz 07.03.2014 / 10:21

2 respostas

0

Não sei se hdparm -T / hdparm -t funcionaria corretamente em um cartão SD, mas vale a pena tentar.

    
por 07.03.2014 / 10:25
0

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}'
    
por 08.03.2014 / 02:08

Tags