Mar 192015
 
opensuse

Столкнулся с проблемой постоянного пиления жесткого диска (постоянная парковка головки жесткого диска) в OpenSuse 13.2 (XFCE)  на ноутбуке.

Проблема оказалась в выставлении кривого значения в  Advanced power management level.

Проверяем значение в терминале:

# sudo hdparm -I /dev/sda |grep Adva

Видим что по умолчанию задается значение равное 128, а хотелось бы 254  (в некоторых случаях помогает установка значения=255).

Делаем изменения:

создаем файл (естественно под суперпользователем) /etc/pm/config.d/disk

# touch /etc/pm/config.d/disk

Туда пишем:

# Configure disk power management settings to ensure both 
# long disk life and good power management. 
# 
# Space delimited list of disk devices this affects. 
# 
DEVICES_DISK_PM_NAMES="/dev/sda" 
# 
# 
# Power management modes 
# 
# Powersave mode off 
# Disable APM and spin-down 
# 
DEVICES_DISK_PM_POWERSAVE_OFF="hdparm -q -B 254 -q -S 0" 
# 
# Powersave mode on 
# Enable APM to 254 and set spin-down for 21 minutes 
# 
DEVICES_DISK_PM_POWERSAVE_ON="hdparm -q -B 254 -q -S 252"

Сохраняем и создаем следующий файл:

# touch /etc/pm/power.d/disk

Добавляем в него:

#!/bin/bash

. /usr/lib/pm-utils/functions

. /etc/pm/config.d/disk



if test -z "${DEVICES_DISK_PM_NAMES}"; then

        exit 1

fi



case "$1" in

        true)

                echo "**enabled pm for harddisk"

                for DISK_NAME in `echo ${DEVICES_DISK_PM_NAMES}`; do

                        ${DEVICES_DISK_PM_POWERSAVE_ON} ${DISK_NAME}

                done ;;

        false)

                echo "**disabled pm for harddisk"

                for DISK_NAME in `echo ${DEVICES_DISK_PM_NAMES}`; do

                        ${DEVICES_DISK_PM_POWERSAVE_OFF} ${DISK_NAME}

                done ;;

esac

 

Делаем файл выполняемым:

# chmod +x /etc/pm/power.d/disk

Теперь при загрузке системы, значения должны устанавливаться нормально, но при hibernate все возвращается к стандартным значениям. Для hibernate я использовал способ от ArchLinux. Создаем:

# touch /usr/lib/systemd/system-sleep/hdparm_set

 

Вписываем:

#!/bin/sh
hdparm -B 254 /dev/sda

 

Делаем файл выполняемым:

chmod +x /usr/lib/systemd/system-sleep/hdparm_set

 

После этих несложных манипуляций, всё (по крайней мере у меня) стало работать нормально.

 

В статье использованы материалы:

отсюда

и

отсюда





 Опубликовал(а) в 22:43

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

(обязательно)

(обязательно)


Обязательно

Вы можете использовать HTML теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>