Проверка скорости диска linux
Отказ жесткого диска в Linux в наши дни встречается гораздо реже, потому что многие поклонники Linux много знают о своих жестких дисках. Однако никакое оборудование не является непобедимым, и аварии случаются. По этой причине рекомендуется следить за состоянием жесткого диска и принимать профилактические меры, если что-то не так.
Проверить состояние жесткого диска с помощью подходящих инструментов довольно просто. В этой статье мы рассмотрим два быстрых способа взглянуть на жесткие диски в Linux и проверить их состояние.
18 Replies to “Disk Speed Test (Read/Write): HDD, SSD Performance in Linux”
Anyone has hdparm version for Android?
“Reminder: All the above commands use the temporary file tempfile. Don’t forget to delete it when you complete the tests.”
I can not find any place where you instruct as to how to delete the tempfile. How is this done safely?
go to directory where you executed the command, in terminal:
““rm tempfile““
or in a gui select the file and delete it.
I must have done something wrong. I tested first with bs=4k and count=256k.
It finished quickly.
Afterwards I decided myself to alter the parameters like so: bs=1M and count=256k
I didn’t know exactly what I was doing. I left it running not having slightest hunch if it’s wrong to interrupt it via Ctrl-C. It run approximately 1000 seconds having written almost 100GB of all 150GB free on the SSD. Only then I’ve read the man pages searching for clues but still didn’t found. So I have a couple of questions if kindly allowed. That ‘k’ at the end of count I am not sure of it’s meaning or even if it makes sense. I have to also ask what would have happened if the command filled the whole free space? Would it have stopped by itself with message/error? Was it dangereous for an ssd doing this. The fact I performed it from sysresccd on ssd with Windows installed has any effect on outcome?
I mean the if = is it from the RAM memory? I specified an of= on the ssd after mounting it like /mnt/windows/some.output.file. Is the way I did it significant for the results?
> bs=4k and count=256k
k means what it always means: about 1,000, but in the case of computers (here), usually 1024. “bs” means block size, “count” means number of blocks. So this means write 4k x 256k bytes. 1k x 1k = 1 megabyte (about 1,000 x about 1,000 = about 1,000,000). How many megabytes? Since we already took care of the ‘k’s; 4x 256 = 1024 (aka about 1000, or 1k again.) What’s 1k x 1k x 1k? 1 gigabyte (about 1,000,000,000.) You wrote 1 gigabyte of zeros.
> bs=1M and count=256k
1M = (1k x 1k)
(1k x 1k) x 1k(the k from “count”) = 1 gigabyte
1 gigabyte x 256 = 256 gigabytes.
You were writing 256 gigabytes of zeros. Your drive is only 150 gigabytes in size. It won’t hurt your drive, it will just delete everything on your drive. When it fills your drive, it will stop.
The “if” is not from ram, it is a program (/dev/zero) in your system disguised as a file but whenever it is read is just endless zeros.
It’s not accurate. The second sync does not influence the measurement (it’s being run after dd reports the results) and thus it’s influenced by caching. If you try the same test with 4096 or 8192 megs, you’ll have worse results (but closer to the reality).
You’ll see that dd will report a higher throughput, but you can then divide 8192 with whatever seconds time comes up with.
You need `conv=fdatasync` in your dd commands to include flush and sync time. Otherwise the results will be way too high, as others have mentioned.
/dev/sdb2:
Timing cached reads: 16830 MB in 1.99 seconds = 8454.99 MB/sec
Timing buffered disk reads: 434 MB in 3.01 seconds = 144.27 MB/sec
great post:) keep simple
Hello, after doing some tests with different “GB” my storage on NVMe was filled with 7% (56GB), can I delete that storage or stay there permanently?
Вам нужно проверить скорость вашего жесткого диска в Linux, но вы не можете понять это? Мы можем помочь! Следуйте этому руководству, пока мы узнаем, как вы можете проверить скорость своего диска в Linux!
dd: TEST Read/Write Speed of an External Drive
Cool Tip: Have added a new drive to /etc/fstab ? No need to reboot! Mount it with one command! Read more →
To check the performance of some External HDD, SSD, USB Flash Drive or any other removable device or remote file-system, simply access the mount point and repeat the above commands.
Or you can replace tempfile with the path to your mount point e.g.:
Reminder: All the above commands use the temporary file tempfile . Don’t forget to delete it when you complete the tests.
Проверка скорости чтения диска
Проще всего измерить скорость диска с помощью программы hdparm. Установить ее очень просто:
Теперь нужно вывести список дисков и разделов в системе:
Выбираем нужный раздел и проверяем скорость чтения:
Обращаю ваше внимание еще раз на то, что мы видим очень примерные цифры, которые имеют значение только в сравнении с другими цифрами, полученными в схожих условиях. hdparm выполняет последовательное чтение с диска. В реально работе скорость чтения диска будет другой.
HDParm
HDParm — еще одно приложение, которое вы можете использовать для проверки скорости вашего диска в Linux. Ее не так просто использовать, как Gnome Disk Utility, и графического интерфейса пользователя нет, но она столь же полезна.
Приложение HDParm не устанавливается по умолчанию во всех операционных системах Linux, но оно есть во многих. Чтобы проверить, установлен ли HDParm на вашем компьютере, запустите команду hdparm –help в окне терминала.
Если на вашем ПК с Linux не установлен HDParm, откройте окно терминала на рабочем столе Linux, нажав Ctrl + Alt + T на клавиатуре. После открытия окна терминала следуйте приведенным ниже инструкциям по установке.
Ubuntu
Вы можете установить HDParm в Ubuntu с помощью команды apt.
Debian
Чтобы установить HDParm в Debian, используйте apt-get.
Arch Linux
В Arch Linux установите HDParm с помощью команды Pacman.
Fedora
В Fedora установите HDParm с dnf.
OpenSUSE
Установите HDParm в OpenSUSE с помощью zypper.
После установки HDParm на ваш компьютер следуйте пошаговым инструкциям ниже, чтобы проверить скорость вашего диска.
Шаг 1. Сначала запустите команду lsblk, чтобы просмотреть все подключенные жесткие диски в системе.
Просмотрите и найдите жесткий диск, который вы планируете протестировать. В этом примере мы протестируем / dev / sda. Для получения дополнительной информации о поиске информации о жестком диске в lsblk прочтите это руководство по этому вопросу.
hdparm
Начнём с программы hdparm :
Ключ -t ( Timing buffered disk) отображает скорость чтения с диска напрямую из буфера кеша, и является показателем того, как быстро жесткий диск может поддерживать последовательное чтение данных под Linux, без задержек, вызванных работой файловой системы.
Ключ -T (Timing cached reads) показывает скорость чтения напрямую из буфера кеша Linux без учёта доступа к диску. Этот показатель главным образом отображает работу процессора, кэша и оперативной памяти тестируемой системы.
1. Smartctl
Современные жесткие диски имеют «SMART». Это функция, которая позволяет операционным системам (например, Linux, Mac и Windows) проверять целостность и работоспособность жестких дисков.
Примечание. Самый быстрый способ проверить, поддерживает ли ваш накопитель функции «SMART», — это вынуть его из компьютера и прочитать информацию на этикетке. Или установите флажок, в котором он появился.
seeker
Одним из очень важных параметров скорости работы жесткого диска является “seek time” – время поиска. Это время, которое требуется жестком диску, что бы считывающая головка достигла сектора, содержащего необходимые данные. Что бы проверить этот параметр – воспользуемся утилитой seeker :
К сожалению, что бы её запустить под Debian / Ubuntu придётся немного повозиться.
Для начала, качаем .rpm пакет с сайта:
Например, вполне работоспособным (на Ubuntu 12.04 x64) оказался пакет seeker-3.0-2.el6.x86_64.rpm для CentOS 5.
Download packages from the official mirror:
binary package, source package
binary – и сохраняем пакет .rpm на диск.
Далее, потребуется создать пакет .deb . Для этого можно воспользоваться утилитой alien . Как ей пользоваться – описано в статье Установка Java 7 на Ubuntu 12.10.
Самое интересное в результате – это значение “89 seeks/second” , т.е. 89 попыток поиска в секторе, содержащем данные. Это неплохой результат для домашнего ПК, но неважный для серверной машины. Впрочем, учитывая что на этой машине используется “домашний” винчестер WD серии Green с RPM 5200 – то вполне неплохой результат.
tune2fs
Более подробную информацию об используемой файловой системе посмотреть можно с помощью tune2fs :
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Конечно же, перед выполнением тестов убедитесь, что не запущены никакие задачи, создающие нагрузку на дисковую систему.
Самый простой способ проверки скорости чтения/записи на жесткий диск ( hard disk input/output value ):
Лучше выполнять его хотя бы 1-2 минуты. Почему – пояснение в следующих примерах:
424 МБ/с – по сравнению с 113 MB/s в предыдущем примере – почему такая разница?
dd вывел результат кеширования в буфер оперативной памяти, а не непосредственно на диск.
Укажем выполнить не 100 операций, а 1000 – что бы система успела выполнить синхронизацию RAM и HDD, после чего dd покажет нам результаты:
113 MB/s – тоже более реальный результат для это жесткого диска.
Другой способ – прямо указать dd дождаться окончания синхронизации данных (т.е. после фактического завершения операций записи/чтения данных на диск):
Теперь рассмотрим некоторые утилиты.
Проверка скорости записи на диск
Для того, чтобы измерить скорость записи на диск, можно воспользоваться стандартной утилитой linux - dd. С ее помощью мы создадим на диске файл размером 1 Gb частями по 1Mb.
Измеряем скорость записи на диск:
Я измерял скорость на виртуальной машине, диск которой был размещен на RAID5, собранным из 5-ти дисков SAS 10к. В принципе, неплохой результат. Можно изменить размер файла и блоков, из которого он записывается. Если сделать файл побольше, результат скорости диска может получиться более приближенный к реальности.
А вот скорость диска на VDS, который я арендую. Результат в разы хуже:
Скорость диска на виртуальной машине, расположенной на втором SATA диске моего рабочего ноутбука:
Результат не очень, надо разбираться в чем дело. Давно возникли подозрения, что с диском что-то не то, заметно подтормаживают виртуальные машины, хотя раньше это было не заметно. Жаль, результатов более ранних тестов не сохранилось.
Интересно было бы посмотреть на ваши результаты тестов. Если же вы хотите серьезно измерить скорость дисков, то вам сюда - Как правильно мерять производительность диска.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите подробнее программу ссылке.
На этом диске будут проводится тесты, описанные ниже:
Western Digital Caviar Green 500GB 64МB WD5000AZRX 3.5
О том, как получить подробные данные о вашем жестком диске – можно прочитать в статье Linux: получение информации о hardware — HDD.
Диски Gnome
Если вы не большой поклонник терминала, но все же хотите проверить состояние вашего жесткого диска в Linux, подумайте об использовании Gnome Disks. Он включает в себя несколько функций SMART, включая базовую проверку работоспособности и функции тестирования как вращающихся дисков, так и твердотельных накопителей.
Чтобы получить доступ к Gnome Disks, откройте меню приложения, найдите «Диски» и запустите его. Или, если он у вас не установлен, следуйте приведенным ниже инструкциям для вашей операционной системы.
Ubuntu
Debian
Arch Linux
Fedora
OpenSUSE
Общий Linux
Диски Gnome — это основная часть рабочего стола Gnome. Его можно найти во всех операционных системах, распространяющих Gnome, Gnome Shell и их программное обеспечение. Если вам нужно установить его в вашей ОС, но вы не можете его найти, исходный код доступен онлайн .
Дисковая утилита Gnome
Если вы хотите проверить скорость диска в Linux, лучший способ сделать это — использовать Gnome Disk Utility. Это удобная, простая для понимания программа, которая может измерять и тестировать скорость жесткого диска.
Однако приложение Gnome Disk Utility не входит в предустановку в каждой операционной системе Linux, поэтому, прежде чем мы перейдем к тому, как использовать его для проверки скорости жесткого диска, вам необходимо установить программу.
Чтобы начать установку Gnome Disk Utility на вашем ПК с Linux, откройте окно терминала. Вы можете открыть окно терминала, нажав Ctrl + Alt + T на клавиатуре. Или откройте меню приложения и найдите «Терминал».
Когда окно терминала откроется и будет готово к использованию, следуйте приведенным ниже инструкциям по установке, чтобы установить приложение Gnome Disk Utility на вашем ПК с Linux.
Ubuntu
В Ubuntu установите приложение Gnome Disk Utility, используя приведенную ниже команду apt install.
Debian
Те, кто использует Debian Linux, смогут установить приложение Gnome Disk Utility, выполнив команду apt-get install.
Arch Linux
В Arch Linux приложение Gnome Disk Utility можно установить с помощью команды Pacman ниже.
Fedora
Те, кто использует Fedora Linux, могут заставить программу Gnome Disk Utility работать с помощью команды dnf install.
OpenSUSE
В OpenSUSE Linux программу Gnome Disk Utility легко установить с помощью приведенной ниже команды установки zypper.
Теперь, когда открыто приложение Gnome Disk Utility, запустите программу, выполнив поиск «Диски» в меню приложения. Затем следуйте пошаговым инструкциям ниже, чтобы проверить скорость вашего диска в Linux.
Шаг 1. Внутри приложения Gnome Disk Utility посмотрите на левую боковую панель и найдите диск, скорость которого вы хотите проверить. Затем щелкните по нему мышью, чтобы просмотреть обзор диска приложения.
Шаг 2: Найдите кнопку меню в Gnome Disk Utility и выберите ее мышью, чтобы открыть. Если вы не можете найти меню, посмотрите слева от кнопки свертывания.
В меню Gnome Disk Utility найдите кнопку «Benchmark Disk» и выберите ее с помощью мыши. Выбрав кнопку «Benchmark Disk», вы откроете инструмент тестера.
Шаг 3: Когда инструмент тестирования будет открыт, найдите кнопку «Start Benchmark» и нажмите на нее, чтобы запустить тест. Имейте в виду, что выполнение этого теста может занять некоторое время, поэтому наберитесь терпения.
Когда инструмент тестирования будет завершен, утилита Gnome Disk Utility создаст полное считывание вашего жесткого диска. Чтобы проверить скорость, найдите «Средняя скорость чтения» и «Средняя скорость записи». Это скажет вам скорость вашего жесткого диска.
Состояние жесткого диска — Smartctl
Smartctl довольно прост в использовании. Чтобы проверить с его помощью состояние жесткого диска, выполните следующие действия.
Шаг 1. Откройте терминал и получите корневую оболочку с помощью su или sudo -s.
Шаг 3. Просмотрите список дисков и найдите диск, который хотите проверить. Найдя его, выделите его мышью и запишите.
Шаг 4. В терминале используйте команду smartctl, чтобы распечатать статус SMART вашего устройства. Обязательно замените «X» на название метки вашего накопителя.
Просмотрите вывод и определите исправность вашего диска. Не забудьте повторить этот процесс, если у вас несколько жестких дисков.
Хотите сохранить отчет по диску smartctl на потом? Подключите его к файлу с помощью команды ниже!
dd: TEST Disk READ Speed
The file tempfile , that has just been created by the previous command, was cached in a buffer and its read speed is much higher then the real read speed directly from the disk.
To get the real speed, we have to clear cache.
Run the following command to find out the READ speed from buffer:
Clear the cache and accurately measure the real READ speed directly from the disk:
dd: TEST Disk WRITE Speed
Run the following command to test the WRITE speed of a disk:
iozone
Следующая утилита – iozone , которая фактически умеет выполнять все тесты, описанные выше. В Ubuntu 12.04 она требует установки, поэтому выполняем:
Теперь запустим и рассмотрим результаты:
64 4 474430 818885 2561267 2561267 1879725 1124074 1124074 1188789 2116903 799377 939223 1105556 2133730
64 8 167061 852702 1452528 3057153 2133730 1210227 955947 2052169 1330167 1101022 901377 533875 1828508
64 16 560635 614542 2298136 2561267 5389653 1255511 1562436 1279447 1933893 913649 460591 1879725 2444640
64 32 566551 1033216 3363612 3203069 6421025 1526887 1421755 1452528 1947927 1124074 1304314 1452528 2298136
64 64 507625 1066042 5389653 5389653 5389653 1304314 1492919 1484662 1421755 1002351 1183548 1991276 2006158
(тут показана лишь малая часть всего вывода)
Ключ -a запускает iozone в автоматическом режиме, в котором утилита будет использовать для тестирования block size от 4k до 16384k (16M), и размер файлов от 64k до 524288k (512M).
Все результаты скорости указаны в KB/Sec.
Первая колонка – KB отображает размер файла.
Вторая колонка – reclen – отображает используемый размер блока (block size).
Третья колнка – write – отображает время, затраченное на создание/запись нового файла. Это всегда более сложная задача для диска и файловой системы, так как связана с назначением inode , созданием новой записи в журнале событий (для Journaled File System ) и т.п.
Четвёртая колонка – rewrite – указывается скорость перезаписи уже существующего файла.
Пятая колонка – read – скорость чтения существующего файла.
Шестая колонка – reread – скорость чтения файла, который уже был прочитан ( reread file ).
Седьмая колонка – random read – показывает скорость доступа к случайной части (!) файла.
В целом, этих данных хватит для получения необходимых данных о быстродействии жесткого диска. Более подробные данные можно еполучить на сайте>>> разработчкиа.
Сохранить результаты можно с ключём -b (файл должен быть совсемстим с форматом эл. таблиц):
Есть ещё много утилит, однако на этом хочется закончить.
Основная часть этой статьи является вольным переводом (с некоторыми попавками в описаниях) статьи Linux File System Read Write Performance Test.
From this article you’ll learn how to measure an input/output performance of a file system on such devices as HDD, SSD, USB Flash Drive etc.
I’ll show how to test the read/write speed of a disk from the Linux command line using dd command.
I’ll also show how to install and use hdparm utility for measuring read speed of a disk on Linux Mint, Ubuntu, Debian, CentOS, RHEL.
To get the accurate read/write speed, you should repeat the below tests several times (usually 3-5) and take the average result.
Cool Tip: How to choose SSD with the best quality/price relation! Read more →
hdparm: Test HDD, SSD, USB Flash Drive’s Performance
hdparm is a Linux command line utility that allows to set and view hardware parameters of hard disk drives.
And it can also be used as a simple benchmarking tool that allows to quickly find out the READ speed of a disk.
hdparm is available from standard repositories on the most Linux distributions.
Install hdparm depending on your Linux distribution.
Cool Tip: Troubleshooting an issue with a hard drive performance? It will be a good idea also to test download/upload Internet speed. It can be easily done from the Linux command line! Read more →
On Linux Mint, Ubuntu, Debian:
On CentOS, RHEL:
Run hdparm as follows, to measure the READ speed of a storage drive device /dev/sda :
Состояние жесткого диска — диски Gnome
Запустите приложение Gnome Disk на вашем ПК с Linux. Когда он откроется, он автоматически выберет первый жесткий диск, подключенный к вашему компьютеру (обычно тот, который использует Slot0 / Slot1 в порту SATA на материнской плате).
С первого взгляда можно просмотреть информацию SMART о жестком диске, просмотрев раздел «оценка» дисков Gnome.
Для полного считывания данных SMART вашего жесткого диска и общего состояния его состояния нажмите Ctrl + S на клавиатуре.
Нажатие комбинации Ctrl + S вызывает панель управления SMART, которая распечатывает (проще для чтения) все ошибки и проблемы, с которыми сталкивается выбранный жесткий диск.
Провести тесты
Хотите проверить свой драйв? Откройте панель управления SMART в Gnome Disks, затем нажмите «Самопроверка», чтобы запустить базовые тесты работоспособности жесткого диска.
Иногда хочется быстро прикинуть, как работает дисковая подсистема, либо сравнить 2 жестких диска. Очевидно, что измерить реальную скорость дисков практически невозможно, она зависит от слишком большого числа параметров. Но получить некое представление о скорости дисков можно.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти вступительный теcт.
Установите Smartmontools
В Linux есть много способов проверить статус SMART жесткого диска. Однако, вероятно, самый быстрый способ — использовать smartctl. Прежде чем мы сможем перейти к использованию этого инструмента, мы должны дать инструкции о том, как проверить работоспособность ваших жестких дисков с помощью smartlctl.
Чтобы установить Smartmontools, откройте терминал и следуйте инструкциям, которые соответствуют вашему дистрибутиву Linux.
Ubuntu
Debian
Arch Linux
Fedora
OpenSUSE
Общий Linux
Поскольку пакет программ Smartmontools является одним из основных способов проверки работоспособности жесткого диска в Linux, есть большая вероятность, что даже самый неизвестный из дистрибутивов сможет его установить. Чтобы получить его, откройте окно терминала, найдите «smartmontools» и установите его, как вы обычно устанавливаете программы. Также можно загрузить Smartmontools (через исходный код) с официального сайта. .
Читайте также: