Софт
   8242

hdparm - бережем веник

Переношу статью к нам, мало ли что)
hdparm — утилита командной строки для Unix-подобных операционных систем. Утилита предназначена для регулировки и просмотра параметров жестких дисков с интерфейсом ATA. Утилита может установить такие параметры как объём кеш-памяти накопителя, спящий режим, управление питанием, управление акустикой и настройки DMA.

Информация о жестком диске:
# hdparm -I /dev/sda 
Если hdparm не установлен:
# pacman -S hdparm (либо установка через графический интерфейс pacman)
Установка частоты парковки головок:
# hdparm -B 127 /dev/sda (диапазон 1-254, 255 - выкл)
Создание сценария для автозапуска:
От рута в директории /etc/udev/rules.d/ создать файл 50-hdparm.rules и прописать в нем
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sda", RUN+="/usr/bin/hdparm -B 254 -S 0 /dev/sda"
Так же можно установить утилиту laptop-mode и настроить с ее помощью.

P.S.
Возможно в чем то ошибся или не дописал, поправляйте, если что.
Автор статьи оригинала — olinux , но лениться топики писать)
Немного о парковке
Парковка головок жёсткого диска используется, в основном, при работе от батареи и в движении, т.к. даёт некоторое энергосбережение и шансы на то, что диск выживет при падении. В идеале, ничего плохого в этом нет, но для этого неплохо бы правильно настроить время парковки, а«из коробки», увы, настройки ужасны и могут быстро привести винт в негодность. При работе от сети это еще более сомнительное решение.

5 комментариев

avatar
И ещё, может пригодиться — тыц
Как устранить «щелчки» и «клацания» HDD

Решение проблемы в Linux (*NIX)
В Linux утилита hdparm присутствует изначально. Если первый способ по каким-либо причинам не помог, то можно попробовать воспользоваться Linux Live CD и его командной строкой:

sudo hdparm -B 255 -M 254 -S 0 /dev/sda
Где /dev/sda — HDD в том виде, как его определила система, может быть /dev/sda, /dev/sdb, /dev/hda и т.д. Если при выполнении вышеприведенной команды выдаётся ошибка, то (скорее всего) система не может внести параметры так как диск смонтирован и его для начала нужно отмонтировать:

sudo umount /media/disk
sudo hdparm -B 255 -M 254 -S 0 /dev/sda
Где /media/disk — точка монтирования HDD. Разберём так же другие параметры:

-B — устанавливает APM (Advanced Power Management) если жесткий диск поддерживает данную технологию. Маленькое значение устанавливает более агрессивный режим энергосбережения и низкую производительность, большое значение устанавливает более мягкие правила к энергосбережению и, соответственно, более высокую производительность. Значение 0, 254 или 255 полностью выключает APM (устанавливается режим максимальной производительности и минимального энергосбережения). Некоторые накопители «не понимают» значения 255, для них нужно использовать 0 или 254 (обычно используют 254). Для винчестеров Hitachi картинка выглядит примерно следующим образом:

0 – АРМ отключён = штатному режиму работы: максимальное потребление энергии и максимальная производительность;
1-127 – через 5-10 минут отсутствия обращения к диску шпиндель снижает обороты до минимальных;
128-191 – через 2-5 минут простоя паркуются головки и обесточивается соленоид БМГ;
192-254 – штатный режим работы (максимальное потребление): головки над пластинами, шпиндель – 7200 (5400) об/мин;
-M — отображает или устанавливает AAM (Automatic Acoustic Management). Большинство современных HDD умеют снижать скорость позиционирования головок для уменьшения издаваемого ими шума. Допустимые значения от 0 до 254. Значение 128 задаёт самый тихий режим работы и, соответственно, самую низкую производительность накопителя. Значение 254 задаёт самую высокую производительность и самый шумный режим работы. Градациями от 128 до 254 можно регулировать шум/производительность накопителя, но не все диски её поддерживают, ограничиваясь только двумя диапазонами работы: тихо и медленно — 128 или шумно и быстро — 254. Поэтому для таких накопителей доступны только три уровня работы AAM: 0 — выключить технологию подавления шума (равносильно значению 254); 128 — тихий и медленный режим; 254 — шумный и производительный режим.

-S — Устанавливает тайм-аут перехода накопителя в спящий режим (остановка шпинделя). Значение данного параметра указывает накопителю через какое время после простоя нужно остановить шпиндель для экономии энергии. После остановки шпинделя накопителю может потребоваться до 30 секунд для раскрутки «блинов» и вывода винчестера из «спячки» в режим готовности. Значение тайм-аута этого параметра несколько своеобразно и может иметь весьма различные интерпретации в зависимости от модели жёсткого диска и его производителя:

0 — полностью выключает переход HDD в спячку (тайм-аут отключен);
1-240 — тайм-аут от 5 секунд до 20 минут;
241-251 — тайм-аут от 30 минут до 5,5 часов;
252 — тайм-аут 21 минута;
253 — устанавливает тайм-аут заданный производителем, обычно это промежуток времени простоя 8 — 12 часов;
254 — зарезервировано;
255 — интерпретируется как 21 минута плюс 15 секунд.
Последний раз редактировалось
+3
avatar
А у меня в связи с вышеизложеным вопросик появился, точнее 3 вопроса, по утилите tlp. Суть её работы в увеличении времени работы ноутбука от батареи. Я уже было принялся за создание сценария автозагрузки для hdparm, но вдруг вспомнил про эту tlp. Как-то после установки и настройки системы (Manjaro_xfce_x64_Capella) по своим предпочтениям, был приятно удивлён, что она уже была предустановлена в системе, но не запущена. Запустил, маленько подправил конфиг и забыл про неё, пока не наткнулся на эту статью. Вобщем вопрос по этой проге возник по такой причине, я когда вспомнил про неё сделал:

# tlp stat

эта команда выводит: конфиг. настроек, информацию о железе, температуру процессора и т.д. и т.п. Так вот среди прочих, есть такие строки:

DISK_APM_LEVEL_ON_AC=«254 254»
DISK_APM_LEVEL_ON_BAT=«128 128»

я так понимаю это касается парковки головок; 1) при работе от сети 2) при работе от батареи.
И ещё:

+++ Storage Devices
/dev/sda:
Model = ST1000LM024 HN-M101MBB
Firmware = 2BA30001
APM Level = 128
Status = active/idle
Scheduler = bfq

опять-же 5-я строчка: APM Level = 128, (на примере который привёл Monteroz 127) Вопросы: hdparm и tlp работают аналогично? Или может hdparm работает лучше/корректней? Или tlp вообще какие-нибудь другие APM_LEVEL'ы задаёт :)? Поясните, кто в курсе.
0
avatar
С этим тулзом я не работал, но Laptop Mode Tools работал и сомневаюсь, что они кардинально отличаются.
1. Вопрос по DISK_APM_LEVEL думаю вы правы и вот вам пруф(там кстати много инфы по вашему тулзу)
2. hdparm и tlp работают аналогично — подозреваю что все эти тулзы используют одинаковые апи для работы с веником — APM драйвер самой ОС
3. Или может hdparm работает лучше/корректней — тут мое мнение следующее — модульность, линукс вей — hdparm лучше + не уверен что в вашем тулзе есть настройки для многосекторного чтения)
з.ы.
APM Level = 128, (на примере который привёл Monteroz 127) — советую поставить 127 будет останавливаться диск во время простоя
Последний раз редактировалось
+1
avatar
Monteroz, спасибо за исчерпывающую информацию, довольно познавательно, за линки благодарю. А значение 127 выставлял, только ноут как-то работать начинает, как буд-то в него cd-диск вставил и он его там крутит. Поэтому оставил 128 (так понимаю это и есть частые парковки, в одной из ссылок об этом сказано). Ещё раз, спасибо.
Последний раз редактировалось
0
avatar
Загрузился с Live CD, ввел $ sudo hdparm -B 255 -M 254 -S 0 /dev/sda

/dev/sda:
setting Advanced Power Management level to disabled
HDIO_DRIVE_CMD failed: Input/output error
setting acoustic management to 254
HDIO_DRIVE_CMD:ACOUSTIC failed: Input/output error
setting standby to 0 (off)
APM_level = not supported
acoustic = not supported
Вошел в систему, создал файл /etc/udev/rules.d/50-hdparm.rules, перезагрузился и опять тот же выхлоп команды sudo hdparm -B 255 -M 254 -S 0 /dev/sda. Подскажите, плиз, как включить Advanced Power Management и acoustic.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.