====== Управление режимом энергосбережения (Advanced Power Management) ======
===== Диагностика =====
Частые звуки/щелчки позиционирования жесткого диска или задержка при работе с файлами может происходить из-за частого отключения диска (перехода в режим энергосбережения). Для диагностики необходим пакет **smartmontools**.
Узнать, сколько раз уже включался диск:
smartctl -a /dev/sdc | grep Load_Cycle_Count
(Load Cycle Count value increasing very fast
http://aptosid.com/index.php?name=PNphpBB2&file=viewtopic&p=7451)
Если вывода нет, скорее всего на диске отключен SMART. Включить его удобнее всего с помощью графической утилиты GSmartControl (поставить соответствующий пакет при необходимости) или из командной строки:
smartctl -s on /dev/sdc
Если число большое, но нужно отрегулировать APM (Advanced Power Management) жесткого диска.
Управление параметрами привода осуществляется командой ''hdparm'' (нужно установить пакет **hdparm**).
Отключение APM выполняется с помощью команды:
hdparm -B 254 /dev/sda
Эту команду надо запускать при загрузке системы.
===== Решение проблемы =====
==== Вариант 1 ====
https://wiki.archlinux.org/index.php/Hdparm
Для автоматического запуска утилиты при загрузке нужно добавить правило udev.
Например, в openSUSE нужно создать файл ''/etc/udev/rules.d/11-sda-apm-fix.rules'':
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sda", RUN+="/usr/sbin/hdparm -B 254 /dev/sda"
В openSUSE 15.0 этот вариант работает через раз, поэтому рекомендуется второй вариант (через systemd).
==== Вариант 2 ====
Добавляем команду в скрипт загрузки:
1. Создаем /etc/rc.local, записываем туда команды (первая строка обязательна!):
#!/bin/sh
hdparm -B 254 /dev/sda
Делаем его исполняемым.
2. Создаем /etc/systemd/system/rc-local.service:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
3. Делаем
# systemctl enable rc-local.service
===== Ссылки =====
- https://ata.wiki.kernel.org/index.php/Known_issues#Drives_which_perform_frequent_head_unloads_under_Linux
- http://www.thinkwiki.org/wiki/Problem_with_hard_drive_clicking
- http://superuser.com/questions/278396/systemd-does-not-run-etc-rc-local