Вопрос или проблема
Недавно я обнаружил, что мой HDD часто переходит в спящий режим. Насколько я могу судить, это новое поведение. Я беспокоюсь о возможном повреждении оборудования из-за частых последовательностей перехода в спящий режим и выхода из него (может ли это произойти?). Я использую linux 5.15.8-1-default и пытался изменить параметры энергосбережения с помощью hdparm – это было единственное решение, которое я нашел в интернете:
hdparm -S 255 /dev/sda
/dev/sda:
установка режима ожидания на 255 (21 минута + 15 секунд)
и
hdparm -B 255 /dev/sda
/dev/sda:
установка уровня управления энергопотреблением на отключен
Уровень_APM = отключен
тем не менее, HDD все равно часто переходит в спящий режим всего через несколько секунд, например:
dmesg -T |grep sda
[Вс Янв 2 09:31:39 2022] sd 0:0:0:0: [sda] 1953525168 512-байтных логических блоков: (1.00 ТБ/932 ГиБ)
[Вс Янв 2 09:31:39 2022] sd 0:0:0:0: [sda] 4096-байтные физические блоки
[Вс Янв 2 09:31:39 2022] sd 0:0:0:0: [sda] Защита записи отключена
[Вс Янв 2 09:31:39 2022] sd 0:0:0:0: [sda] Режим чувствительности: 00 3a 00 00
[Вс Янв 2 09:31:39 2022] sd 0:0:0:0: [sda] Кэш записи: включен, кэш чтения: включен, не поддерживает DPO или FUA
[Вс Янв 2 09:31:39 2022] sda: sda1 sda2 sda3 sda4 sda5
[Вс Янв 2 09:31:39 2022] sd 0:0:0:0: [sda] Подключен SCSI диск
[Вс Янв 2 09:31:45 2022] EXT4-fs (sda4): восстановление завершено
[Вс Янв 2 09:31:45 2022] EXT4-fs (sda4): смонтирована файловая система с режимом упорядоченных данных. Опции: (null). Режим квоты: нет.
[Вс Янв 2 09:37:59 2022] sd 0:0:0:0: [sda] Синхронизация кэша SCSI
[Вс Янв 2 09:37:59 2022] sd 0:0:0:0: [sda] Остановка диска
[Вс Янв 2 09:38:02 2022] sd 0:0:0:0: [sda] Запуск диска
[Вс Янв 2 09:42:59 2022] sd 0:0:0:0: [sda] Синхронизация кэша SCSI
[Вс Янв 2 09:42:59 2022] sd 0:0:0:0: [sda] Остановка диска
[Вс Янв 2 09:52:00 2022] sd 0:0:0:0: [sda] Запуск диска
[Вс Янв 2 09:52:35 2022] sd 0:0:0:0: [sda] Синхронизация кэша SCSI
[Вс Янв 2 09:52:35 2022] sd 0:0:0:0: [sda] Остановка диска
[Вс Янв 2 09:53:01 2022] sd 0:0:0:0: [sda] Запуск диска
[Вс Янв 2 09:53:38 2022] sd 0:0:0:0: [sda] Синхронизация кэша SCSI
[Вс Янв 2 09:53:38 2022] sd 0:0:0:0: [sda] Остановка диска
[Вс Янв 2 10:01:54 2022] sd 0:0:0:0: [sda] Запуск диска
[Вс Янв 2 10:02:18 2022] sd 0:0:0:0: [sda] Синхронизация кэша SCSI
[Вс Янв 2 10:02:18 2022] sd 0:0:0:0: [sda] Остановка диска
[Вс Янв 2 10:12:00 2022] sd 0:0:0:0: [sda] Запуск диска
[Вс Янв 2 10:12:20 2022] sd 0:0:0:0: [sda] Синхронизация кэша SCSI
[Вс Янв 2 10:12:20 2022] sd 0:0:0:0: [sda] Остановка диска
между выполнением команд hdparm и dmesg был нет перезагрузки. Я понимаю, что эту тему часто обсуждают, но обычно людям удается использовать hdparm, и я не мог понять, почему этого не произошло раньше. Итак, мои вопросы:
-
Действительно ли повторный переход в спящий режим и выход из него вреден для оборудования?
-
Может ли изменение поведения возникнуть из-за a) обновлений программного обеспечения или b) устаревшего оборудования?
-
Существует ли решение, которое я просто не нашел? Как я могу заставить диск оставаться включенным дольше?
Ранее я также находил некоторые устройства, которые игнорировали настройки hdparm, но что действительно странно, так это то, что это устройство или моя система теперь изменили свое поведение. Спасибо за любую помощь!
Проблема заключается в сервисе tlp.service, который активирует ALPM (управление энергопотреблением линка AHCI) и AHCI Runtime PM на батарее, что вызывает это старт / остановка / старт / остановка HDD/SSD.
Чтобы отключить: в /etc/tlp.conf (или /etc/default/tlp.conf для старых версий), раскомментируйте:
SATA_LINKPWR_DENYLIST="hostX"
Обратитесь к выводу tlp-stat -d, чтобы определить хост, замените ‘X’ соответственно. раскомментируйте и установите на ‘on’ (что означает ‘отключить’)
AHCI_RUNTIME_PM_ON_BAT=on
Вам нужно выполнить цикл питания, чтобы изменения вступили в силу – не только сброс!
Проверьте с помощью powertop – вкладка ‘изменяемая настройка’ должна показывать:
плохой Runtime PM для диска sda
плохой Runtime PM для порта ata1 устройства PCI: [ваше конкретное устройство вендора, например, Intel Atom/Celeron/Pentium Processor N3XXX Series]
плохой Runtime PM для порта ata2 устройства PCI: [ваше конкретное устройство вендора, например, Intel Atom/Celeron/Pentium Processor N3XXX Series]
Следите за ‘journalctl -f’, чтобы мониторить.
Ответ или решение
Ответ на Ваши вопросы о поведении HDD на Linux
Недавно вы столкнулись с проблемой частого спиндауна жесткого диска (HDD), несмотря на ваши усилия по отключению режима энергосбережения с помощью утилиты hdparm
. Давайте все детально разберем ваши вопросы и возможные решения.
1. Действительно ли частые спиндауны могут повредить оборудование?
Частый переход HDD в режим спиндауна и спин-ап может потенциально повредить оборудование, однако вероятность серьезного ущерба невысока. Тем не менее, механические компоненты диска подвержены износу от этих циклов. Каждый запуск и остановка добавляют нагрузку на подшипники и другие механические части, что в долгосрочной перспективе может снизить срок службы диска. Поэтому важно минимизировать частоту этих операций, если это возможно.
2. Изменение в поведении диска вызвано:
a) Обновлениями программного обеспечения: Вероятно, недавние обновления вашего ядра или других компонентов системы могли изменить поведение управления питанием жесткого диска. Библиотеки и модули, ответственные за управление питанием, могут быть изменены, что ведет к нежелательному поведению.
b) Старение оборудования: Если вашему HDD уже несколько лет, он может стать более чувствительным к изменениям в процессе работы, например, старение компонентов может вызывать менее предсказуемые реакции на команды управления питанием.
3. Возможные решения:
Как было указано в вашем дополнении, проблема возникает из-за активного управления питанием, управляемого службой tlp
. Эта утилита включает режимы энергосбережения, такие как ALPM (AHCI Link Power Management) и AHCI Runtime PM, что приводит к циклам остановки и запуска диска.
Чтобы решить эту проблему, выполните следующие шаги:
-
Отключение ALPM для определенных устройств:
- Откройте файл конфигурации
tlp
:sudo nano /etc/tlp.conf
- Найдите и раскомментируйте строку:
SATA_LINKPWR_DENYLIST="hostX"
- Замените
X
на соответствующий номер вашего устройства, который можно определить с помощью вывода команды:tlp-stat -d
- Откройте файл конфигурации
-
Отключение AHCI Runtime PM:
- В том же файле конфигурации
tlp
, найдите строку:AHCI_RUNTIME_PM_ON_BAT=on
- Убедитесь, что она установлена на ‘on’, что фактически будет отключать эту функцию.
- В том же файле конфигурации
-
Применение изменений:
- Необходимо перезагрузить систему, чтобы изменения вступили в силу. Обычная перезагрузка не всегда подойдет, рекомендуется полностью отключить питание.
-
Проверка состояния:
- Используйте
powertop
, чтобы подтвердить, что режимы энергосбережения больше не активны. В разделе ‘adjustable settings’ не должно быть сообщений о проблемах с Runtime PM для вашего диска:powertop
- Используйте
-
Мониторинг:
- Используйте
journalctl -f
, чтобы отслеживать любые сообщения, связанные с вашим HDD, и убедиться, что диски больше не переходят в спиндаун.
- Используйте
Заключение
Изменение поведения вашего HDD действительно возможно как из-за обновлений программного обеспечения, так и из-за старения оборудования. Отключение режима энергосбережения с помощью tlp
и корректировка соответствующих его настроек может помочь вашему диску работать более стабильно. Обратите особое внимание на мониторинг состояния вашего диска после внесения изменений для обеспечения его надежной работы.