Рейтинг:1

Внутренний жесткий диск Seagate очень медленный под Linux

флаг sd

Этот компьютер имеет жесткий диск Seagate емкостью 1 ТБ в качестве второго диска на /dev/sdb, отформатировано как доб4.

В последнее время HDD стал работать очень-очень медленно. Например, копирование ~89 ГБ данных с внешнего USB-накопителя на жесткий диск заняло почти 20 часов:

отправлено 89 704 992 410 байт получено 47 132 байта 1 281 363,28 байт/с
общий размер 425 224 910 218 ускорение 4,74

реальные 1166 м 47 065 с
пользователь 4м3,929с
система 10 м 54 856 с

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

Бег smartctl -t длинный /dev/sdb, я получил этот вывод:

smartctl 7.2 30.12.2020 r5155 [x86_64-linux-5.15.10-arch1-1] (локальная сборка)
Copyright (C) 2002-20, Брюс Аллен, Кристиан Франке, www.smartmontools.org

=== НАЧАЛО ИНФОРМАЦИОННОГО РАЗДЕЛА ===
Семейство моделей: Мобильный жесткий диск Seagate
Модель устройства: ST1000LM035-1RK172
Серийный номер: (удален)
Идентификатор устройства LU WWN: (удалено)
Версия прошивки: LVM2
Емкость пользователя: 1 000 204 886 016 байт [1,00 ТБ]
Размер сектора: 512 байт логический, 4096 байт физический
Скорость вращения: 5400 об/мин
Форм-фактор: 2,5 дюйма
Устройство находится: в базе данных smartctl [для получения подробной информации используйте: -P show]
Версия ATA: ACS-3 T13/2161-D, редакция 3b.
Версия SATA: SATA 3.1, 6,0 Гбит/с (текущая: 6,0 Гбит/с)
Местное время: Вт 28 декабря 19:23:54 2021-03
Поддержка SMART: Доступна — устройство поддерживает SMART.
Поддержка SMART: включена

=== НАЧАЛО ЧТЕНИЯ РАЗДЕЛА SMART DATA ===
Результат теста SMART для самооценки общего состояния здоровья: ПРОЙДЕН

Общие ценности SMART:
Состояние сбора данных в автономном режиме: (0x00) Активность сбора данных в автономном режиме
                    никогда не запускался.
                    Автоматический сбор данных в автономном режиме: отключен.
Статус выполнения самопроверки: ( 0) Предыдущая процедура самопроверки завершена
                    без ошибок или без самопроверки никогда 
                    был запущен.
Общее время для завершения в автономном режиме 
сбор данных: ( 0) секунд.
Сбор данных в автономном режиме
возможности: (0x71) SMART выполнить в автономном режиме немедленно.
                    Нет поддержки автоматического автономного сбора данных.
                    Приостанавливать автономную коллекцию при появлении новых
                    команда.
                    Автономное сканирование поверхности не поддерживается.
                    Поддерживается самотестирование.
                    Поддерживается самотестирование транспорта.
                    Поддерживается выборочное самотестирование.
Возможности SMART: (0x0003) Сохраняет данные SMART перед вводом
                    режим энергосбережения.
                    Поддерживает таймер автоматического сохранения SMART.
Возможность ведения журнала ошибок: (0x01) Поддерживается ведение журнала ошибок.
                    Поддерживается ведение журнала общего назначения.
Короткая процедура самопроверки 
рекомендуемое время опроса: ( 1) минут.
Расширенная программа самопроверки
рекомендуемое время опроса: ( 165) минут.
Процедура самопроверки транспортного средства
рекомендуемое время опроса: ( 2) минут.
Возможности SCT: (0x3035) поддерживается статус SCT.
                    Поддерживается управление функциями SCT.
                    Поддерживается таблица данных SCT.

Номер версии структуры данных атрибутов SMART: 10
Специфичные для поставщика атрибуты SMART с пороговыми значениями:
ID# ATTRIBUTE_NAME FLAG VALUE HORST THRESH TYPE ОБНОВЛЕНО WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate 0x000f 083 064 034 Всегда до отказа — 196192348
  3 Spin_Up_Time 0x0003 099 099 000 Предотказ Всегда - 0
  4 Start_Stop_Count 0x0032 100 100 020 Old_age Всегда - 994
  5 Reallocated_Sector_Ct 0x0033 100 100 036 До отказа Всегда - 0
  7 Seek_Error_Rate 0x000f 082 060 045 Всегда до отказа — 155079043
  9 Power_On_Hours 0x0032 080 080 000 Old_age Всегда - 17728 (70 194 0)
 10 Spin_Retry_Count 0x0013 100 100 097 Предотказ Всегда - 0
 12 Power_Cycle_Count 0x0032 100 100 020 Old_age Всегда - 706
184 End-to-End_Error 0x0032 100 100 099 Old_age Всегда - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Всегда - 0
188 Command_Timeout 0x0032 100 098 000 Old_age Всегда — 8590065670
189 High_Fly_Writes 0x003a 100 100 000 Old_age Всегда - 0
190 Airflow_Temperature_Cel 0x0022 063 050 040 Old_age Всегда — 37 (мин./макс. 28/45)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Всегда - 9
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Всегда - 19
193 Load_Cycle_Count 0x0032 001 001 000 Old_age Всегда — 697945
194 Temperature_Celsius 0x0022 037 050 000 Old_age Всегда - 37 (0 22 0 0 0)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Всегда - 0
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Всегда - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Всегда - 0
240 Head_Flying_Hours 0x000f 096 096 030 До отказа Всегда - 4235 (41 1 0)
254 Free_Fall_Sensor 0x0032 100 100 000 Old_age Всегда - 0

Версия журнала ошибок SMART: 1
Количество ошибок АТА: 2
    CR = регистр команд [HEX]
    FR = Регистр функций [HEX]
    SC = регистр счетчика секторов [HEX]
    SN = регистр номера сектора [HEX]
    CL = нижний регистр цилиндра [HEX]
    CH = верхний регистр цилиндра [HEX]
    DH = регистр устройства/головки [HEX]
    DC = Регистр команд устройства [HEX]
    ER = регистр ошибок [HEX]
    ST = регистр состояния [HEX]
Powered_Up_Time измеряется с момента включения питания и распечатывается как
ДДд+чч:мм:СС.сс, где ДД=дни, чч=часы, мм=минуты,
SS=сек, а sss=миллисек. Он «обертывается» через 49 710 дней.

Ошибка 2 произошла при включении диска: 17662 часа (735 дней + 22 часа)
  При выполнении команды, вызвавшей ошибку, устройство находилось в неизвестном состоянии.

  После завершения команды регистры были:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  04 51 00 00 00 00 00 Ошибка: ABRT

  Команды, ведущие к команде, вызвавшей ошибку:
  CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
  -- -- -- -- -- -- -- -- -- ------------------ ------------------ --
  00 00 00 00 00 00 00 ff 06:23:01.410 NOP [Прервать команды из очереди]
  b0 d4 00 82 4f c2 00 00 06:22:01.104 SMART EXECUTE OFF-LINE НЕМЕДЛЕННО
  61 00 50 ff ff ff 4f 00 06:21:58.086 ЗАПИСЬ FPDMA В ОЧЕРЕДИ
  61 00 00 ff ff ff 4f 00 06:21:58.086 ЗАПИСЬ FPDMA В ОЧЕРЕДИ
  b0 d0 01 00 4f c2 00 00 06:21:57.812 ИНТЕЛЛЕКТУАЛЬНОЕ ЧТЕНИЕ ДАННЫХ

Ошибка 1 произошла во время жизни диска при включении питания: 17662 часа (735 дней + 22 часа)
  При выполнении команды, вызвавшей ошибку, устройство находилось в неизвестном состоянии.

  После завершения команды регистры были:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  04 51 00 00 00 00 00 Ошибка: ABRT

  Команды, ведущие к команде, вызвавшей ошибку:
  CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
  -- -- -- -- -- -- -- -- -- ------------------ ------------------ --
  00 00 00 00 00 00 00 ff 06:17:33.736 NOP [Прервать команды из очереди]
  b0 d4 00 83 4f c2 00 00 06:16:33.565 SMART EXECUTE OFF-LINE НЕМЕДЛЕННО
  ea 00 00 00 00 00 a0 00 06:16:33.546 FLUSH CACHE EXT
  61 00 20 ff ff ff 4f 00 06:16:30.631 ЗАПИСЬ FPDMA В ОЧЕРЕДИ
  61 00 08 ff ff ff 4f 00 06:16:30.631 ЗАПИСЬ FPDMA В ОЧЕРЕДИ

Структура журнала самотестирования SMART, редакция 1
Num Test_Description Статус Оставшееся время жизни (часы) LBA_of_first_error
#1 Расширенный оффлайн Выполнено без ошибок 00% 17728 -
# 2 Расширенный оффлайн Прервано (сброс хоста) 00% 17702 -
# 3 Расширенный захват Прервано (сброс хоста) 90% 17662 -
# 4 Передача захвата Прервано (сброс хоста) 50% 17662 -
#5 Short captive Выполнено без ошибок 00% 17662 -
#6 Короткий оффлайн Выполнено без ошибок 00% 12481 -

Структура данных журнала выборочной самопроверки SMART, редакция 1
 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
    1 0 0 Не_тестирование
    2 0 0 Не_тестирование
    3 0 0 Не_тестирование
    4 0 0 Не_тестирование
    5 0 0 Не_тестирование
Флаги выборочной самопроверки (0x0):
  После сканирования выбранных диапазонов НЕ считывайте и не сканируйте оставшуюся часть диска.
Если при включении питания ожидается выборочная самопроверка, возобновите ее после 0-минутной задержки.

Из того, что я исследовал:

  • эти 2 ошибки(Прервано (сброс хоста)) не критичны и означают, что тест в какой-то момент был прерван перезагрузкой системы;
  • диск якобы в порядке, если СТОИМОСТЬ и НАИХУДШИЙ выше МОЛОТОТ;
  • в огромное количество ошибок чтения/поиска не имеют особого смысла. Я получил нулевое значение, выполняя эту математику;

Судя по этим результатам, диск в порядке? Если это так, как я могу узнать, почему это так медленно?

user10489 avatar
флаг nc
Долгий тест еще не закончился, когда вы взяли эти данные.
флаг sd
@user10489 user10489 хммм, но я дождался конца. Я только что повторил `smartctl -a`, и результат тот же. Должен ли я снова запустить тестовую команду?
user10489 avatar
флаг nc
Долгий тест может занять много часов. Запустите smartctl -a еще раз и проверьте завершение теста. В приведенном выше выводе указано «# 1 Расширенная автономная процедура самотестирования в процессе 90% 17676 -», которая к настоящему времени должна быть другой.
флаг sd
Я начал новый тест перед сном, и он быстро достиг 90%. Проснулся сегодня, и это все еще на 90%.
флаг sd
@ user10489, наконец-то тесты закончились! Я обновил вопрос с новым журналом. Кажется, все так же, как и раньше. Raw_Read_Error_Rate даже немного улучшился (81 -> 83).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.