Очень медленное чтение дерева каталогов на вторичном SSD

Вопрос или проблема

У меня есть 2 SSD:

$ df -h | grep sd
/dev/sda2       916G  130G  740G  15% /
/dev/sdb3       916G  346G  523G  40% /media/olddisk

Оба диска были куплены в последние 4 года, подключены к SATA-разъемам на материнской плате и отформатированы в ext4. sdb3 — это мой старый диск, который раньше был единственным (и тогда был sda2). Когда я добавил второй диск, я сделал новый диск основным, переместил старый диск на второй разъем, подключил новый диск к первому разъему и установил на него свежую версию Ubuntu 24.04.1 LTS.

Когда я копирую большой файл с sdb3 на sda2, скорость приемлемая: около 2 секунд на файл размером 2 ГБ. Однако, когда я копирую дерево каталогов, скорость ужасная: дерево каталогов, состоящее примерно из 400 файлов и общей размером 2 ГБ, занимает около 3 минут!

Кажется, время идет на чтение дерева каталогов с sdb3, а не на запись дерева каталогов на sda2. Например, следующая команда также занимает около 3 минут:

time tar cf /dev/null /media/olddisk/home/klitos/Pictures/2005

С другой стороны, когда я читаю точно такой же контент с sda2, это занимает всего несколько секунд:

time tar cf /dev/null /home/klitos/Pictures/2005

Какие шаги мне следует предпринять, чтобы выяснить, почему так долго читается дерево каталогов на моем старом диске, и чтобы улучшить его производительность?

Ответ или решение

Судя по вашему описанию, проблема, с которой вы столкнулись, может быть связана с несколькими факторами, влияющими на производительность чтения с вашего старого SSD (sdb3). Давайте рассмотрим шаги, которые помогут диагностировать проблему и улучшить производительность.

1. Проверка состояния диска

Первым шагом следует проверить состояние вашего SSD. Используйте утилиту smartctl, которая является частью пакета smartmontools. Эта утилита позволяет выполнить диагностику состояния устройства:

sudo smartctl -a /dev/sdb

Обратите внимание на значения параметров "Reallocated_Sector_Ct", "Current_Pending_Sector" и "Offline_Uncorrectable". Если они имеют высокие значения, это может указывать на физические проблемы с диском.

2. Проверка файловой системы

Проблемы с файловой системой могут также замедлять чтение данных. Запустите fsck, чтобы проверить и исправить ошибки:

sudo umount /dev/sdb3
sudo fsck.ext4 -f /dev/sdb3

Не забудьте размонтировать диск перед проверкой.

3. Мониторинг нагрузки на диск

Используйте iostat или iotop для мониторинга ввода-вывода и нагрузки на диск во время операций чтения. Это может помочь определить, является ли проблема связанной с высоким уровнем загрузки:

sudo apt install sysstat
iostat -x 1

Следите за значениями await и svctm, чтобы определить, как долго происходит ввод-вывод и сколько времени занято обслуживанием запросов.

4. Проверка конфигурации SATA

Проверьте, правильно ли настроены SATA-режимы в BIOS/UEFI. Убедитесь, что оба диска подключены и работают в режиме AHCI, а не IDE, поскольку это может сильно повлиять на производительность.

5. Кэширование дистрибуции

Возможна ситуация, когда кэширование на новом SSD (sda2) работает лучше, чем на старом. Попробуйте использовать кэширование rsync или подобный метод для улучшения производительности копирования. Например:

rsync -a --info=progress2 /media/olddisk/home/klitos/Pictures/2005 /home/klitos/Pictures/

6. Дефрагментация

Хотя файловая система ext4 не требует дефрагментации так часто, как FAT или NTFS, но если диск долго использовался, это тоже может влиять на скорость доступа. Проверьте, повлияет ли на производительность командa:

sudo e4defrag /media/olddisk

7. Обновление прошивки

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

8. Температура диска

Наконец, проверьте температуру SSD. Перегрев может вызывать троттлинг производительности. Используйте команду:

sudo hddtemp /dev/sdb

Если температура слишком высока, обеспечьте лучшее охлаждение.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...