Вопрос или проблема
Я хочу узнать скорость передачи данных между HDD или SSD и материнской платой. Это можно сделать через команду. Если возможно через графический интерфейс, это тоже приемлемо.
Цель:
Я хочу сравнить скорости между
- Thunderbolt 3/4/5, если подключен через док-станцию с M.2 NVMe PCIe
по сравнению с
- SSD (HDD) и материнской платой
Таким образом, я хочу узнать, насколько целесообразно будет установить Linux на вторичный SSD через док-станцию с Thunderbolt. Насколько схожим будет время отклика Linux, работающего с таким подходом?
Я знаю, что Thunderbolt имеет следующие значения скорости:
- Thunderbolt 1: 10 Гбит/с на канал, или 20 Гбит/с всего
- Thunderbolt 2: 20 Гбит/с всего
- Thunderbolt 3 и 4: 40 Гбит/с в обе стороны
- Thunderbolt 5: 80 Гбит/с в обе стороны
Итак, если разница действительно огромна по сравнению с материнкой/SSD, то мне следует рассмотреть возможность использования двойной загрузки, но это занимает место на основном диске.
Я хочу узнать скорость передачи данных между HDD или SSD и материнской платой.
Тогда посмотрите стандарт вашего интерфейса на википедии.
Таким образом, я хочу узнать, насколько целесообразно будет установить Linux на вторичный SSD через док-станцию с Thunderbolt. Насколько схожим будет время отклика Linux, работающего с таким подходом?
Все стандарты Thunderbolt, которые вы упоминаете, значительно быстрее, чем SSD, продаваемые в форм-факторе M.2, могут поддерживать, поэтому пересмотр этого стандартного соединения не имеет значения для вашего случая использования.
HDD? Обычно на порядки медленнее.
Следовательно:
Разумной оценкой было бы протестировать скорость чтения, записи и время доступа с помощью носителя хранения; скорость соединения имеет второстепенное или незначительное значение. Вам следует выбирать параметры такого бенчмарка как можно ближе к реальному случаю использования операционной системы с этого внешнего носителя.
Если говорить честно, установка современного Linux на SSD занимает 15 минут. Использование этого Linux в течение 10 минут даст вам точную информацию о его скорости. Это оптимальный бенчмарк; из всех возможных бенчмарков это тот, который дает наибольшее количество информации о том, насколько хорошо что-то работает для предполагаемого случая использования; следовательно, все остальные возможные бенчмарки уступают по представительности. Потому что это есть на самом деле предполагаемый случай использования.
Итак, почему мы вообще об этом говорим? Давайте пробовать. Скачайте почти любое современное изображение установщика дистрибутива Linux (debian, Ubuntu, Fedora), поместите это изображение на отдельный USB-накопитель (например, используя Fedora Media Writer, который может использовать уже загруженное изображение или скачать одно самостоятельно), загрузитесь с этого USB-накопителя и установите дистрибутив Linux на свой диск Thunderbolt.
Большой вопрос здесь сводится к:
Как измерить “практическую скорость” устройства хранения.
Ответ: есть очень много способов, и практический конечный результат вряд ли будет: ни один из них не скажет вам единую истину, а МНОГО истин.
Все зависит от того, КАК вы измеряете и насколько хорошо это соответствует реальной ситуации.
- Большие файлы, вероятно, будут читаться быстро, например, в буфер ОЗУ, если читать их большими кусками.
- Многочисленные МАЛЫЕ файлы наложат большое количество АДМИНИСТРАТИВНЫХ задач, что приведет к (огромному) времяному штрафу.
- Чтение СЛУЧАЙНЫХ распределенных блоков данных с HDD будет зависеть от времени ПОДБОРА (перемещение считывающей головки).
- … и так далее
Один из способов провести тестирование чтения, SSD и NVMe носители:
$ lsblk -ape7
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
/dev/sda 8:0 0 7,3T 0 disk
...
/dev/nvme0n1 259:0 0 3,6T 0 disk
...
$ sudo dd if=/dev/nvme0n1 of=/dev/null bs=4k count=10M status=progress
42357981184 bytes (42 GB, 39 GiB) copied, 53 s, 799 MB/s
10485760+0 records in
10485760+0 records out
42949672960 bytes (43 GB, 40 GiB) copied, 53,7492 s, 799 MB/s
$ sudo dd if=/dev/sda1 of=/dev/null bs=4k count=10M status=progress
42673651712 bytes (43 GB, 40 GiB) copied, 84 s, 508 MB/s
10485760+0 records in
10485760+0 records out
42949672960 bytes (43 GB, 40 GiB) copied, 84,5294 s, 508 MB/s
dmidecode:
system-manufacturer: ASUSTeK COMPUTER INC.
system-product-name: ROG Strix G731GU_G731GU
… но затем: Насколько хорошо это отражает практическое использование?
Это чтение значительного объема данных из последовательного блока с устройств, поэтому может дать представление – но практическое использование почти никогда не предполагает чтение более нескольких КБ за раз (включено буферизирование), если это, например, большой файл, например, образ ISO, видео или что-то подобное.
Как только возникает файловая система, она накладывает административные штрафы. Насколько это сильно, зависит от файловой системы.
(Детали файловой системы;
AmigaDOS OFS и FFS легко понимаемы, подробно описаны в “Руководстве по AmigaDOS”)
Ответ или решение
Чтобы узнать скорость передачи данных между жестким диском (HDD) или твердотельным накопителем (SSD) и материнской платой, можно использовать различные команды и инструменты в Linux. В данном ответе я опишу подходящие команды и методы, а также проанализирую, как это связано с Thunderbolt и производительностью системы в целом.
1. Измерение скорости передачи данных
Существует несколько способов для оценки скорости передачи данных между накопителем и материнской платой. Одним из самых простых и эффективных способов является использование команды dd
, которая позволяет производить тестирование на чтение и запись.
Пример использования команды dd
# Измерение скорости чтения для SSD
sudo dd if=/dev/nvme0n1 of=/dev/null bs=4k count=10M status=progress
В этой команде:
if=/dev/nvme0n1
— это путь к устройству NVMe SSD (может отличаться в зависимости от вашей системы),of=/dev/null
— это место, куда записываются данные (в данном случае, это «черная дыра», то есть данные не сохраняются),bs=4k
— размер блока,count=10M
— количество блоков для чтения,status=progress
— показывает прогресс выполнения.
Аналогично, можно измерить скорость чтения для HDD:
# Измерение скорости чтения для HDD
sudo dd if=/dev/sda of=/dev/null bs=4k count=10M status=progress
2. Использование утилиты hdparm
Другой полезный инструмент для измерения скорости диска — это hdparm
. Например, чтобы проверить скорость чтения:
sudo hdparm -T /dev/sda
sudo hdparm -T /dev/nvme0n1
Этот инструмент предоставляет информацию о производительности и может дать представление о скорости передачи данных.
3. GUI-инструменты для измерения скорости
Если вам удобнее использовать графический интерфейс, вы можете воспользоваться следующими инструментами:
- Gnome Disks: Позволяет выполнять тесты на скорость чтения и записи для любых подключенных дисков. Запустите приложение «Диски», выберите устройство и воспользуйтесь функцией теста производительности.
- KDE Partition Manager: Позволяет управлять разделами и также имеет возможность тестирования.
4. Сравнение с Thunderbolt
Thunderbolt 3 и 4 предлагают скорость передачи данных до 40 Гбит/с, а Thunderbolt 5 — до 80 Гбит/с. На практике это значительно превышает скорость современных SSD, которые обычно достигают 3-7 Гбит/с. Однако важно учитывать, что фактическое время отклика системы будет зависеть от скорости работы SSD или HDD, а не только от интерфейса Thunderbolt.
5. Установка Linux на внешний SSD через Thunderbolt
Установка Linux на внешний SSD через Thunderbolt является целесообразной, так как теоретическая пропускная способность интерфейса значительно превышает большинство трудностей, связанных со скоростью работы накопителей. Я рекомендую сделать тест, установив любую современную дистрибуцию Linux (например, Ubuntu или Fedora) на внешний SSD и оценив реальную производительность при работе.
Заключение
Для определения практической скорости работы накопителей используйте команды dd
и hdparm
. Результаты тестов помогут вам создать полное представление о производительности вашей конфигурации. Проведя установку Linux на внешний SSD через Thunderbolt, вы сможете получить быстрый доступ к системе, сравнимый с производительностью внутренних накопителей. Используйте приведенные выше инструменты для выполнения тестов и сделайте обоснованный выбор, основываясь на полученных данных.