LINUX.ORG.RU
ФорумTalks

pm-utils: убъем ваш винт за пол года

 ,


11

3

Какой упоротый разработчик запилил вот это:

/usr/lib/pm-utils/power.d/harddrive

# Default values on AC
DRIVE_SPINDOWN_VALUE_AC="${DRIVE_SPINDOWN_VALUE_AC:-0}"
DRIVE_WRITE_CACHE_AC="${DRIVE_WRITE_CACHE_AC:-1}" 
DRIVE_POWER_MGMT_AC="${DRIVE_POWER_MGMT_AC:-254}"
DRIVE_ACOUSTIC_MGMT_AC="${DRIVE_ACOUSTIC_MGMT_AC:-0}"

# Default values on battery
DRIVE_SPINDOWN_VALUE_BAT="${DRIVE_SPINDOWN_VALUE_BAT:-6}" # Парковка головок винта каждые 30 сек неактивности
DRIVE_WRITE_CACHE_BAT="${DRIVE_WRITE_CACHE_BAT:-0}" 
DRIVE_POWER_MGMT_BAT="${DRIVE_POWER_MGMT_BAT:-1}" # Агрессивный метод энергосбережения, винт паркуется сразу после прекращения активности.
DRIVE_ACOUSTIC_MGMT_BAT="${DRIVE_ACOUSTIC_MGMT_BAT:-254}"

Ниже идет хелп, что к чему.

This hook has 8 tuneable parameters:
DRIVE_SPINDOWN_VALUE_AC = time until a drive will spin down on AC
Defaults to 0, which disables drive spindown.
DRIVE_SPINDOWN_VALUE_BAT = time until a drive will spin down on battery
Defaults to 6, which will spin the drive down after 30 seconds of inactivity.

See the -S option on the hdparm manpage for more information.

DRIVE_WRITE_CACHE_AC = Whether the drive caches writes on AC
Defaults to 1, which means that the drive will cache writes internally.
DRIVE_WRITE_CACHE_BAT = Whether the drive caches writes on battery.
Defaults to 0 which means that the drive will not cache writes internally.

See the -W option on the hdparm man page for more information.

DRIVE_POWER_MGMT_AC = Drive Advanced Power Management value on AC
Defaults to 254 for max performance.
DRIVE_POWER_MGMT_BAT = Drive Advanced Power Management value on battery
Defaults to 1 for max power savings.

See the -B option on the hdparm man page

Drive acoustic management:
DRIVE_ACOUSTIC_MGMT_AC = Drive Acoustic Management value on AC
Defaults to 254 for max head speed.
DRIVE_ACOUSTIC_MGMT_BAT = Drive Acoustic Management value on battery
Defaults to 128 for max quietness.

See the -M option on the hdparm man page.
Итог. Ноут взят был в начале декабря. Спустя 3.5 недели на винте было ~7k парковок, а еще спустя 2 недели - 9.5k. Хорошо что догадался проверить винт на предмет наличия «зелености» aka WD Green (свой грин благополучно вылечил:)). Скрипт подправил, но осадочек остался. Есть желание написать на мыло разработчику и послать ему лучи добра. Будьте бдительны, и при покупке новых железяк, в часности винтов, смотрите сразу данные smart.

$subj

P.S. Для тех кто не в теме: ресурс парковок головок ограничен, на разных винтах по разному, но в целом производитель дает гарантию на то, что 300-600k парковок винт отработает.

P.P.S. Gentoo, но есть подозрения, что и в других дистрах та же херня.

UPD: http://cgit.freedesktop.org/pm-utils/tree/pm/power.d/harddrive - значения те же, что и привел выше, буду пинать разрабочиков, думал может гентушние майнтейнеры накосячили

UPD2: https://bugs.freedesktop.org/show_bug.cgi?id=36956 - бага на официальной багзилле.

UPD3: https://bugs.gentoo.org/show_bug.cgi?id=452362 баг на гентушной багзилле

★★★★★

Последнее исправление: CYB3R (всего исправлений: 7)

Ответ на: комментарий от kerneliq

Ну это я тоже нагуглил, но блин, такая элементарщина... Хорошо что скрипт с вызовом hdparm, и там все кристально ясно, и не нужно патчить исходники. Gentoo, стабильная ветка amd64, хотя и в ~x86 аналогично (с нее и копипастил)

leg0las ★★★★★
() автор топика

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

Так пока никто не напишет, эта хрень так и будет тянуться...

F457 ★★★★
()

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

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

bender ★★★★★
()
Ответ на: комментарий от bender

Продублируй значения «Default values on AC» в секции «Default values on battery», и все. Я не заморачивался, тем более винт - меньшее, что садит батарею. Тем более в случае неактивности есть более умные методы энергосбережения, типа s2ram и s2disk.

leg0las ★★★★★
() автор топика

Это известная проблема. И багрепорты и письма в ML есть, но проект де-факто мертв с 2010 года, поэтому пинайте Gentoo devов, пусть патчат.

cchr
()

Хм... Проверил на всякий случай свои веники на лаптопе. На первом с системой

Load_Cycle_Count 137964

на вендовом

Load_Cycle_Count 17754

На год-другой еще хватит.

AiFiLTr0 ★★★★★
()

P.S. Для тех кто не в теме: ресурс парковок головок ограничен, на разных винтах по разному, но в целом производитель дает гарантию на то, что 300-600k парковок винт отработает.

Не смешите меня, данные с тестового винта ATA WDC WD15EARS-22Z5B1 Серийный номер WD-WMAVU3634640
193 Load_Cycle_Count 0x0032 001 001 000 Old_age Always - 2092571

moved
()

P.P.S. Gentoo, но есть подозрения, что и в других дистрах та же херня.

RFRemix 18. Дефект не подтверждаю

dexpl ★★★★★
()
Ответ на: комментарий от moved

Насколько я помню, WD дает гарантию на 300К парковок, я перед покупкой WD20EARX читал - были случаи поломок. Потому перестраховался, отключив ее (парковку).

leg0las ★★★★★
() автор топика
Ответ на: комментарий от leg0las

Да, писать бесполезно. Разрабы pm-utils просто игнорят багзиллу и ML, я потихонечку пилю свой форк, но он пока не готов. Пишите гентудевам.

cchr
()
Ответ на: комментарий от daemonpnz

Скрипт не распарсил, но это много. У меня за 15 месяцев на десктопе намотано 1100-1200 и 1700-1800 парковок (+600 парковок на грине ага, намотал до отключения их, покупал сразу оба). Т.е. грубо говоря в год должно быть порядка тысячи-две на десктопе, (при интенсивном очень использовании), на ноуте можно и поболее, а не те значения, что ты привел.

leg0las ★★★★★
() автор топика

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

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

olegsov
()

На что поменял то?

deterok ★★★★★
()
Ответ на: комментарий от olegsov

Мне докупить ссшный винт с той же емкостью (500 Гб) дороговато, да и зачем, когда такой пашет?

leg0las ★★★★★
() автор топика

В генте этот древний боян всё ещё не пофиксили...

shahid ★★★★★
()
Ответ на: комментарий от qnikst

Было:

# Default values on battery
DRIVE_SPINDOWN_VALUE_BAT="${DRIVE_SPINDOWN_VALUE_BAT:-6}"
DRIVE_WRITE_CACHE_BAT="${DRIVE_WRITE_CACHE_BAT:-0}" 
DRIVE_POWER_MGMT_BAT="${DRIVE_POWER_MGMT_BAT:-1}"
DRIVE_ACOUSTIC_MGMT_BAT="${DRIVE_ACOUSTIC_MGMT_BAT:-254}"

Стало:

# Default values on battery
DRIVE_SPINDOWN_VALUE_BAT="${DRIVE_SPINDOWN_VALUE_BAT:-0}"
DRIVE_WRITE_CACHE_BAT="${DRIVE_WRITE_CACHE_BAT:-1}" 
DRIVE_POWER_MGMT_BAT="${DRIVE_POWER_MGMT_BAT:-254}"
DRIVE_ACOUSTIC_MGMT_BAT="${DRIVE_ACOUSTIC_MGMT_BAT:-0}"
leg0las ★★★★★
() автор топика

ATA ST9250315AS

Проработал: 1,3 года

Количество циклов позиционирования пишущей головки в зону парковки: 246902.

puding
()

Была такая проблема в Арче где-то год назад, отключил с помощью wdidle - начал бешено расти G-Sense_Error_Rate:
191 G-Sense_Error_Rate 0x0032 001 001 000 Old_age Always - 171566

h31 ★★★★
()
Последнее исправление: h31 (всего исправлений: 1)
Ответ на: комментарий от leg0las

а зачем столько на ноуте? мне и 120 хватает, больше половины свободно...

конечно если таскать файлопомойку то да. но лучше хранить всё на многотерабайтных стационарных винтах и брать оттуда что надо когда надо.

olegsov
()

P.S. Для тех кто не в теме: ресурс парковок головок ограничен, на разных винтах по разному, но в целом производитель дает гарантию на то, что 300-600k парковок винт отработает.

HDD-юзеров проблемы. У меня SSD.

VirRaa ★★★
()
Ответ на: комментарий от cchr

Ждем-с. И чтобы под генту был ебилд, потыцкаем)

leg0las ★★★★★
() автор топика
Ответ на: комментарий от daemonpnz

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

leg0las ★★★★★
() автор топика
Последнее исправление: leg0las (всего исправлений: 1)
Ответ на: комментарий от leg0las

так никто не правит - вот и результат.

Я когда ставлювсегда в rc.local прописывал -B255 и -S чего-то там, и делал руками хук на pm_utils

visual ★★★
()

Это какбэ намёк, что пора переходить на SSD

Vit ★★★★★
()

но в целом производитель дает гарантию на то, что 300-600k парковок винт отработает.

300к - это же много.
Если винт стопать/юзать по несколько раз в день, то наберётся до пары тысяч парковок за год.

pacify ★★★★★
()
Ответ на: комментарий от pacify

Если винт стопать/юзать по несколько раз в день, то наберётся до пары тысяч парковок за год.

О чем я выше и писал.

leg0las ★★★★★
() автор топика

Эта настройка нужна для экономии энергии. Дисков наштамповать новых можно сколько угодно, но энергию, рассеянную в тепло уже никак не вернёшь.

Deleted
()

Ты даже мою мамочку не напугаешь

krab@aspire [~] sudo smartctl -a /dev/sda | grep Load_Cycle_Count                
193 Load_Cycle_Count        0x0032   122   122   000    Old_age   Always       -       235259

krab@aspire [~] sudo smartctl -a /dev/sda | grep Model
Model Family:     Western Digital Scorpio Blue Serial ATA
Device Model:     WDC WD2500BEVT-22A23T0
bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)

Проснулся :)

Я после накатывания новой ОС первым делом подсовываю pm-utils'ам хук с hdparm'ом, а также в rc.local.

carasin ★★★★★
()
Ответ на: комментарий от carasin

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

leg0las ★★★★★
() автор топика
Ответ на: комментарий от leg0las

Ноут применяется как основной, т.е. компа у человека нет. Фильмы же, музыка...

Что, внешних дисков или NAS тоже нет?

Lighting ★★★★★
()
Ответ на: комментарий от pacify

300к - это же много. Если винт стопать/юзать по несколько раз в день, то наберётся до пары тысяч парковок за год.

Как раз тысяч 600 за год и наберётся в таком режиме.

Lighting ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.