Поиск по сайту:

Как узнать скорость передачи данных на жестком диске в Linux

Это руководство научит вас, как узнать скорость передачи данных на жестком диске в Linux. Другими словами, мы собираемся определить, насколько быстро ваш жесткий диск доставляет данные в Linux и Unix-подобных операционных системах.

Мы также поговорим о других полезных вещах, таких как количество секторов, которые жесткий диск может читать одновременно, функция упреждающего чтения, акустический режим, кэширование обратной записи, бенчмаркинг жесткого диска и т. д.

В рамках данного руководства мы будем использовать утилиту командной строки hdparm для проверки скорости чтения и записи жесткого диска и проверки производительности жесткого диска.

На случай, если вы это пропустили, мы уже использовали утилиту hdparm для нахождения сведений о жестком диске в Linux. Теперь мы воспользуемся той же утилитой 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

Проверьте скорость жесткого диска с помощью команды hdparm в Linux

Как видите, скорость передачи данных составляет 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

Найдите скорость передачи данных на жестком диске в Linux

Сравните скорость передачи данных жесткого диска со значениями смещения и без них. Когда мы использовали параметр "offset" во второй команде, скорость передачи снизилась. Следовательно, кажется, что жесткие диски доставляют данные из внешних областей дисков немного медленнее.

Узнайте, сколько секторов читает жесткий диск

Обычно жесткий диск считывает несколько секторов одновременно, чтобы ускорить передачу данных. Вы можете найти это значение, выполнив:

sudo hdparm -I /dev/sda

В разделе "Возможности" вы увидите вывод, как показано ниже.

[...]
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.

Чтобы перевести HDD в тихий режим, запустите:

sudo hdparm -M 128 /dev/sda

Чтобы ускорить движение головы, выполните:

sudo hdparm -M 254 /dev/sda

Обратите внимание, что ваша операционная система должна поддерживать эту функцию.

Если эта функция не поддерживается, вы увидите следующее:

dev/sda:
 acoustic      = not supported

Кэширование обратной записи

Когда включен режим кэширования с обратной записью, жесткий диск помещает данные для записи в буфер. Таким образом, жесткий диск сможет писать быстрее.

Чтобы проверить, включен ли режим кэширования с обратной записью, используйте флаг «-W».

sudo hdparm -W /dev/sda

Пример вывода:

/dev/sda:
write-caching =  1 (on)

Если выходное значение равно 1, функция кэширования обратной записи включена. Если он равен 0, кэширование обратной записи отключено. Вы можете включить его с помощью команды:

sudo hdparm -W1 /dev/sda

Если hdparm не может включить эту функцию, убедитесь, что в вашем BIOS включена функция кэширования обратной записи.

Чтобы отключить его, просто используйте:

sudo hdparm -W0 /dev/sda

Несмотря на то, что кэширование записи увеличивает скорость записи, в некоторых ситуациях его не рекомендуется использовать.

Например, при внезапном отключении питания данные в буфере будут безвозвратно потеряны. Поэтому вам не следует включать функцию кэширования обратной записи при запуске программ баз данных, таких как PostgreSQL.

Тестирование жесткого диска из командной строки

Чтобы протестировать жесткий диск и проверить скорость чтения диска, используйте вместе флаги "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

Тестирование жесткого диска из CLI в Linux

Повторите эту команду как минимум 2-3 раза, чтобы получить значимый результат.

Для получения более подробной информации посетите справочные страницы.

man hdparm

Проверьте жесткий диск с помощью графической утилиты GNOME Disks.

Если вам не нравится командная строка, программа GNOME Disks с графическим интерфейсом также позволяет нам тестировать жесткие диски.

Откройте «Диски» из меню или тире. Выберите диск, который хотите протестировать, нажмите три точки и выберите опцию «Протестировать диск».

Тестирование жестких дисков с помощью GNOME Disks

Нажмите кнопку Начать тестирование, чтобы начать тестирование:

Запустите тестирование с помощью дисков GNOME в Linux

Заключение

В этом руководстве мы обсудили, как узнать скорость передачи данных на жестком диске в Linux (т. е. насколько быстро жесткий диск доставляет данные). Мы также рассмотрели, как протестировать жесткий диск в режиме командной строки и графическом режиме с помощью утилиты Gnome Disks GUI.

Рекомендуемое изображение с сайта Pixabay.

Статьи по данной тематике