Thank you for reading this post, don't forget to subscribe!
воспользуемся этой утилитой hdparm для измерения скорости передачи жесткого диска.
Несмотря на то, что hdparm предлагает значительные преимущества для увеличения производительности диска, он также ЧРЕЗВЫЧАЙНО ОПАСНЫЙ. При неправильном использовании некоторых параметров это, скорее всего, приведет к массовой потере данных. В документации hdparm говорится, что НЕ СЛЕДУЕТ ИСПОЛЬЗОВАТЬ НЕКОТОРЫЕ КОМАНДЫ ПРИ ЛЮБЫХ ОБСТОЯТЕЛЬСТВАХ. Что еще более важно, всегда рекомендуется делать резервную копию жесткого диска перед тестированием жесткого диска с помощью hdparm в системе Linux.
Как найдите скорость передачи данных с жесткого диска на Linux
Чтобы проверить скорость передачи данных жесткого диска в Linux, выполните команду «hdparm» с флагом -t, как показано ниже:
$ sudo hdparm -t /dev/sda
Пример вывода:
/dev/sda:
Timing buffered disk reads: 246 MB in 3.00 seconds = 81.97 MB/sec
Как видите, скорость передачи данных составляет 81,97 МБ в секунду.
Убедитесь, что никакие другие программы не работают в фоновом режиме.
Выполните команду hdparm не менее двух или трех раз и по результатам вычислите среднюю скорость передачи данных вашего диска.
Как видно из вышеприведенного вывода, ядро Linux помещает данные, полученные с жесткого диска, в буфер при передаче данных.
Если вы хотите измерить более точную скорость передачи данных, используйте:
|
$ sudo hdparm -t --direct /dev/sda |
Пример вывода:
/dev/sda:
Timing O_DIRECT disk reads: 242 MB in 3.02 seconds = 80.21 MB/sec
Теперь программа hdparm не будет использовать буфер и будет читать данные прямо с жесткого диска
Как вы заметили в приведенном выше выводе, скорость передачи данных без буфера снизилась.
Hdparm всегда будет читать данные с самого начала устройств хранения.
Если вы хотите, чтобы hdparm читал данные из другой области устройства хранения, вы можете использовать параметр «offset», как показано ниже.
$ sudo hdparm -t --direct --offset 10 /dev/sda
Здесь 10 означает количество пропущенных гигабайт.
Согласно приведенной выше команде, первые 10 ГБ будут пропущены при чтении данных с диска.
На диске 20 ГБ указанная выше команда доставит данные из середины диска.
Пример вывода:
dev/sda:
Timing O_DIRECT disk reads (offset 10 GB): 244 MB in 3.01 seconds = 81.15 MB/sec
Сравните скорость передачи жесткого диска со значениями смещения и без них.
Когда мы использовали параметр «offset» во второй команде, скорость передачи снизилась.
Следовательно, похоже, что жесткие диски доставляют данные из внешних областей дисков немного медленнее.
Узнаем, сколько секторов читает жесткий диск
Обычно жесткий диск одновременно читает несколько секторов, чтобы ускорить передачу данных.
Вы можете найти это значение, запустив:
$ sudo hdparm -I /dev/sda
В разделе «Capabilities» вы увидите результат, как показано ниже.
|
[…] Capabilities: LBA, IORDY(can be disabled) Queue depth: 32 Standby timer values: spec'd by Standard, no device specific minimum R/W multiple sector transfer: Max = 16 Current = 16 Advanced power management level: 254 Recommended acoustic management value: 208, current value: 208 DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 […] |
Согласно вышеприведенному выводу, мой жесткий диск читает 16 секторов за раз.
Некоторые современные жесткие диски могут извлекать сектора заранее.
Эта функция называется «упреждающим чтением».
Вы можете найти это значение с помощью флага «-a», как показано ниже:
$ sudo hdparm -a /dev/sda
Пример вывода:
/dev/sda:
readahead = 256 (on)
Как видно из вышеприведенного вывода, жесткий диск может заранее прочитать 256 секторов.
Переведем жесткий диск в тихий режим, чтобы увеличить время доступа
Чтобы проверить, поддерживает ли ваш жесткий диск этот «акустический режим», запустите:
$ sudo hdparm -M /dev/sda
Если ваш накопитель поддерживает акустический режим, вы должны получить результат, как показано ниже.
/dev/sda:
acoustic = 208 (128=quiet … 254=fast)
Текущее значение акустического режима в моей системе – 208.
Значения акустического режима можно установить от 128 до 254.
Чтобы перевести жесткий диск в тихий режим, запустите:
$ sudo hdparm -M 128 /dev/sda
Чтобы сделать head movement быстрым, выполните:
$ sudo hdparm -M 254 /dev/sda
Обратите внимание, что ваша операционная система должна поддерживать эту функцию.
Если не поддерживает эту функцию, вы увидите следующее:
dev/sda:
acoustic = not supported
Тестирование жесткого диска из командной строки
Чтобы протестировать жесткий диск и проверить читаемую скорость диска, используйте вместе флаги верхнего регистра “T” и нижнего регистра “t”, как показано ниже.
$ sudo hdparm -Tt /dev/sda
Пример вывода:
|
/dev/sda: Timing cached reads: 7232 MB in 1.99 seconds = 3629.42 MB/sec Timing buffered disk reads: 250 MB in 3.01 seconds = 82.99 MB/sec |
Повторите эту команду не менее 2-3 раз, чтобы получить значимый результат.
Для получения более подробной информации проверьте страницы руководства.
$ man hdparm