Изначально программа dd
предназначена для копирования и конвертации файлов в Linux. Но благодаря своей простоте и доступности, часто dd
используют для тестирования скорости чтения/записи на диск.
И хотя это не самый точный метод для оценки I/O, тем не менее он достаточно эффективен в ситуациях, когда необходимо оценить производительность файловой системы в Linux. Данный способ подойдет для замеров скорости таких устройств как HDD, SSD и USB накопители.
Для того что бы результаты dd
были более точными, необходимо предварительно очистить кэш:
echo 3 > /proc/sys/vm/drop_caches
В процессе выполнения, команда dd создаст файл /tmp/tempfile
и запишет его нулями. Для более точных результатов, необходимо что бы данные были физически записаны на диск, для этого необходимо использовать параметр conv=fdatasync
.
Команда dd
для проверки скорости записи на диск:
# dd if=/dev/zero of=/tmp/tempfile bs=1M count=1024 conv=fdatasync,notrunc 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 2.7261 s, 394 MB/s
Команда dd
для проверки скорости чтения с диска:
# dd if=/tmp/tempfile of=/dev/null bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 1.90372 s, 564 MB/s
Для удаления файла, необходимо выполнить команду:
rm /tmp/tempfile