Linux энергосбережение жесткого диска

Энергосберегающий режим для жесткого диска

Имеется NAS сервер с системой на флэшки и жестким диском для хранения видео. К жесткому диску обращаюсь раз в два дня посмотреть кино, все остальное диск бездействует.
Как можно переводить жесткий диск в спящий режим если к нему 20 минут не обращаются ?
# 10 лет, 1 месяц назад (отредактировано 10 лет, 1 месяц назад) hdparm и документация к нему (man). Тупо скопировал заголовок темы в гугл, добавил слово linux.
Нажал на три ссылки, третья была эта:
http://www.xakep.ru/magazine/xa/135/080/1.asp
Ближе к концу:

Если машина, освобождаемая тобой от шума, не должна часто использовать жесткий диск, ты можешь настроить энергосберегающий режим, при котором хард будет отключаться на время бездействия. Сделать это можно с помощью известной утилиты hdparm. Например, так:

$ sudo hdparm -B 1 -S 12 /dev/sda

Опция ‘-B 1’ включает самый “агрессивный” уровень сбережения энергии. Всего их 254, с 1 по 127 из которых отличаются тем, что приводят к остановке винчестера в случае необходимости. Опция ‘-S 12’ – это время, по прошествии которого жесткий диск будет останавливать шпиндель. Предусмотрено 255 значений: с 1 до 240 просто умножаются на 5 секунд, а 0 – отключает остановку шпинделя.
Менее губительный для жесткого диска метод заключается в активации так называемой функции Automatic Acoustic Management, благодаря которой позиционер головок будет издавать гораздо меньше шума, ценой незначительного снижения скорости позиционирования головок (что, однако, ведет к падению производительности диска в среднем на 10%). Функция доступна в большинстве более-менее современных жестких дисков и может быть включена при помощи все того же hdparm. Например:

$ sudo hdparm -M 128 /dev/sda

Эта команда активирует самый тихий режим работы винчестера, за наиболее быстрым закреплено значение 254. Выбирая значение между этими двумя порогами, ты сможешь подобрать оптимальное соотношение шум/скорость, но помни, что большинство жестких дисков реально поддерживает только два или три режима (например, 128 – тихо, 254 – быстро, все, что между, будет либо вообще не работать, либо активировать один из двух режимов).

Именно это я и прочитал, прежде чем создать тему.
Мой жесткий диск WD Scorpio Blue поддерживает изменение APM Level
AdvancedPM=yes, т.е опцию -B я могу, использовать, но инфы по моему харду я не нашел, какой режим ставить, чтобы во время работы была максимальная производительность, а во время простоя максимальное энергопотребление и полная остановка шпинделя.

опция -S как я понял принудительная остановка шпинделя, если к диску нет обращения заданное время.

Выставил такой режим
hdparm -B 128 -S 60 /dev/sda

значение 128 от былды поставил (точнее предположил, если 1 — это самый энергосберегающмй режим, а 255 это отключение Apm, то 128 это середнячок).
Опытным путем было обнаружено, что если выставить значение APM от 1 до 61, то хард уходит в спячку через 8 сек бездействия (без опции -S), но этого мало, мне нужно минут 5.
До этого стоял FreeNAS, он точно выключал через 5 минут, как я ему и прописал.

Опять же опытным путем было выяснено, что мой хард не реагирует на опцию -S, а с таким параметром
hdparm -B 128 /dev/sda
Выключается сам через 10 минут бездействия.

© 2006-2021, Русскоязычное сообщество Arch Linux.
Название и логотип Arch Linux ™ являются признанными торговыми марками.
Linux ® — зарегистрированная торговая марка Linus Torvalds и LMI.

Источник

Команда hdparm linux

Утилита hdparm позволяет устанавливать и просматривать различные параметры жестких дисков HDD в Linux. Она работает только в командной строке и предоставляет доступ к настройкам кэша диска, режима сна, энергопотребления, уровня его производительности, шума, а также DMA. Возможности этой утилиты используются в GParted.

Читайте также:  Редакции windows server 2019 desktop experience

Изменение стандартных значений для некоторых параметров может очень сильно увеличить производительность диска, однако на данный момент нет точного способа определить оптимальные значения. Это можно сделать только путём проб и ошибок. В этой небольшой статье мы разберемся как работает команда hdparm linux, а также что с помощью неё можно сделать.

Синтаксис команды hdparm

Синтаксис hdparm Linux очень похож на другие подобные команды:

$ hdparm опция значение /dev/имя_файла_диска

Если опцию передать без значения, то как правило, она просто выводит текущее значения параметра, если передать значение, то оно устанавливается вместо старого. Давайте сначала рассмотрим основные опции утилиты, которые мы будем сегодня использовать:

  • -a — позволяет включить режим read-ahead, когда чтение выполняется в первую очередь. Этот режим позволяет улучшить производительность чтения больших объемов данных;
  • -A — позволяет включить режим read-look-ahead, когда диск просматривается перед чтением. По умолчанию включена;
  • -b — остановить жесткий диск до следующего к нему обращения;
  • -B — настройка управления питанием Advanced Power Management (APM), чем ниже значение, тем лучше энергосбережение. Чтобы отключить режим полностью установите значение в 255.
  • -c — включает 32-битный режим передачи для IDE;
  • -C — позволяет посмотреть текущий режим питания IDE;
  • -d — включает режим DMA;
  • -D — включает обнаружение дефектных областей на диске;
  • -E — позволяет установить скорость для CD/DVD привода;
  • -f — позволяет записать кэш диска на носитель;
  • -i — выводит информацию о диске;
  • -I — тоже выводит информацию о диске, но в более подробной форме;
  • -m — позволяет указать количество секторов для многосекторного ввода/вывода. Чтобы отключить эту опцию установите её в 0;
  • -M — позволяет управлять уровнем шума диска с помощью Automatic Acoustic Management (AAM);
  • -n — позволяет включить флаг ignore write errors для игнорирования ошибок записи;
  • -r — включает флаг read only. После этого с устройства можно только читать данные, но не записывать;
  • -S — устанавливает время неактивности диска для перехода его в режим сна. Если установлено в 0, то диск сразу же отключается;
  • -T — выполняет тест скорости чтения из кэша;
  • -t — выполняет тест скорости чтения с диска без кэширования;
  • -v — выводит все настройки;
  • -w — выполняет сброс диска;
  • -W — включает или отключает кэш для записи данных на IDE;
  • -y — переводит IDE диск в режим низкого энергопотребления, замедляя скорость вращения диска;
  • -Y — переводит IDE диск в режим низкого энергопотребления останавливая его;
  • -z — просит ядро перечитать таблицу разделов для этого диска;
  • -Z — отключает режим энергосбережения диска.

Установка hdparm

Если утилита ещё не установлена в вашей операционной системе, то её можно установить из официальных репозиториев дистрибутива. Например, для установки hdparm Ubuntu / Debian / Linux Mint выполните:

sudo apt install hdparm

А для CentOS/Fedora/RedHat:

sudo dnf install hdparm

Примеры команды hdparm

И так программу установили, можно и к действиям переходить. Давайте сначала посмотрим информацию о диске с помощью опции -i:

sudo hdparm -i /dev/sda

Теперь смотрим более расширенную информацию опцией -I:

sudo hdparm -I /dev/sda

Чтобы посмотреть текущие настройки для различных флагов диска используйте опцию -v:

sudo hdparm -v /dev/sda

Для теста скорости работы диска с кэшем используйте опцию -T:

sudo hdparm -T /dev/sda

А для теста без кэша -t:

sudo hdparm -t /dev/sda

Чтобы остановить вращение мотора диска до следующего к нему обращения выполните:

sudo hdparm -S 1 /dev/sda

После включения этой опции диск перейдет в режим сна сразу же через пять секунд после завершения операций с ним. Если же вы хотите уменьшить энергопотребление вашего устройства предыдущая команда не совсем подходит. Для этого существует функция управления питанием:

sudo hdparm -B 120 /dev/sda

Замедляет обороты диска если к нему не обращались на протяжении определенного времени, доступны значения от нуля до 255, 120 примерно среднее значение.

Читайте также:  How to install ttf font in linux

Разберемся подробнее с опцией -S. Она позволяет останавливает двигатель диска после время бездействия:

sudo hdparm -S 240 /dev/sda

Можно также использовать числа в диапазоне от 1 до 255. Значения от единицы до 240 означают время в секундах умноженное на 5. Таким образом можно рассчитать время ожидания от 5 секунд до двадцати минут. Значения от 241 до 251 рассчитывается уже умножением на 30 минут, таким образом можно получить время от тридцати минут до пяти с половиной часов.

Чтобы уменьшить уровень шума от диска можно ещё воспользоваться опцией -M. Она принимает значения от 128 что означает более тихую работу и до 254, которое означает более высокую производительность. Попросим диск работать как можно тише:

sudo hdparm -M 128 /dev/sda

Выводы

В этой статье мы рассмотрели как пользоваться hdparm для настройки диска в Linux. Всё выглядит сложным, но зато вы можете немного повысить производительность своего диска, снизить его энергопотребление или шум.

Источник

О том, как я заставлял Ubuntu работать 10 часов от батареи

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

О том, как заставит ноутбук работать под линуксами как можно дольше, написано немало, в том числе и на хабре. В какой-то степени я еще раз соберу все советы воедино, от очевидных до обскурных, заодно опишу несколько проблем и решений, которые у меня оказались достаточно «индивидуальными».

Устанавливал я Ubuntu 10.10 на ноутбук Acer Aspire Timeline 5810TG. Эта машина обладает экраном в почти 16 дюймов и относительно производительным железом, зато батарея достаточно емкая, чтобы ставить с ней личные рекорды.

Содержание поста.

1. Отключаем дискретную видеокарту.
2. Полезные команды для энергосбережения.
3. Проблемы ноутбука (связанные с энергосбережением) и их решения.
4. Автоматизация.
5. Дополнительные советы.

1. Отключаем дискретную видеокарту.

В моем ноутбуке имеется возможность переключаться между встроенным графическим чипом от Intel, маломощным и малотребовательным к электроэнергии, и сравнительно сильной и энергоемкой карте ATI Radeon HD4330. Многие обладатели ноутбуков с переключаемой графикой испытывают проблемы в работе с Linux-системами. Поиск по «ubuntu switchable graphics» на убунтуформус выдает больше 50 страниц тем.
Мне производительная графическая карта нужна редко, поэтому я задался целью отключить ее по умолчанию с возможностью быстрого и безболезненного включения.
Очень много читал те самые 50 страниц форумных тем. А надо было всего лишь заглянуть в убунту-вики или даже попробовать воспользоваться хабрапоиском.
В версиях ядра, начиная с 2.6.34, присутствует механизм vga_switcheroo, позволяющий переключаться между видеокартами. То есть в Ubuntu 10.10 он есть по умолчанию. О том, как им пользоваться, хорошо было написано здесь (см. второй способ) почти год назад, я по-быстрому напомню, что к чему.
Вначале выполним
Зная, какой GPU как обозначается, посмотрим, какой из них в каком состоянии.
Плюсик стоит на против видеочипа, который используется в данный момент, Pwr означает, что видеокарта включена и потребляет энергию.
Важно: у всех моих немногих знакомых, обладающих ноутбуками с двумя видеокартами, картина одинаковая: что бы вы не делали, при загрузке системы обе карты работают, при этом для вывода используется встроенная «слабая» графика. Это нам на руку, ибо обесточивание неактивной видеокарт происходит бескровно.
Команда отключает неиспользуемую GPU сразу же. Поэтому мы обратимся к файлу /etc/rc.local, добавив в него вышеуказанную команду (перед строчкой exit 0). Так, при загрузке систему дискретная видеокарта уже будет отключена и мне не нужно будет беспокоиться ни о чем.
Важно: насколько я могу судить, vga_switcheroo не работает, если установлены проприетарные драйверы на дискретную видеокарту.

Кстати, если вы хотите переключаться между видеокартами через графический интерфейс, установите Ubuntu Control Center. Программа представляет собой панель управления параметрами Ubuntu, но нас она интересует исключительно из-за опции переключения между GPU (естественно, здесь это тоже происходит средствами vga_switcheroo).

Будьте аккуратны с UCC: во-первых, работает кривовато, например, мне необходимо было вначале переключиться на дискретную видеокарту, а лишь затем на встроенную, чтобы обесточить дискретную (либо вначале выполнить echo OFF > /sys/kernel/debug/vgaswitcheroo/switch, а затем переключаться на встроенную GPU). Но работает. Во-вторых, переключение происходит сразу, то есть без спросу выполняется завершение сеанса и приходится вновь залогиниваться.
Больше о переключаемой графике можно почитать в хабрапосте, на который я дал ссылку выше, а также в Убунту-вики и в этом блоге. Я к этому вопросу возвращаться не буду.

Читайте также:  Запуск windows после восстановления системы

2. Полезные советы по энергосбережению.

Собирались эти советы с lesswatts, ubuntuforums, учитывались хинты от powertop, кое-что было найдено случайно.
1) Если у вас стоит убунту на ноутбуке, стопроцентно у вас установлен пакет laptop_mode, оптимизирующий работу компьютера в зависимости от источника питания. Значение 0, посылаемое в /proc/sys/vm/laptop_mode, отключает режим энергосбережения, 5 устанавливает самый агрессивный. Подробнее о том, как именно laptop_mode сберегает энергию, можно прочесть где угодно.
2) Режим энергосбережение для SATA-устройств.
Не знаю, почему у меня в /sys/class/scsi_host/ целых шесть устройств 🙂 Для включения максимального быстродействия выполнить команды с max_performance вместо min_power.

3) По умолчанию в Ubuntu есть четыре профиля работы процессора:
conservative: медленно повышает частоту процессора в зависимости от нагрузки на систему и резко сбрасывает частоту к минимальной при простое.
ondemand: быстро повышает частоту процессора при возрастании нагрузки и медленно сбрасывает частоту к минимуму при простое.
powersave и performance, очевидно, соответствуют минимальной и максимальной частотам CPU. Многие независимые пользователи крайне не советуют использовать режим performance, поэтому даже для работы от сети, когда экономить на ваттах нет смысла, я использую режим ondemand.

4) Параметр ‘sched_mc_power_savings’ из /sys/devices/system/cpu/ позволяет использовать энергосберегающий режим работы процессора в случае, если у того более одного ядра, благодаря особому распределению нагрузки между ядрами.

5) Встроенные аудио-чипы от Intel (которые принадлежат к т. н. High Definition Audio — HDA) также имеют возможность экономии ватт, если звуковой чип не используется

6) Для того, что выиграть еще чуть-чуть времени работы батареи, можно запретить системе время от времени «опрашивать» cd/dvd-привод на предмет наличия там диска.
7) Можно выключить к черту веб-камеру вместе с драйвером. Не проверял отдельно, но сообщают, что дело очень хорошее при работе от батареи. Естественно, пропустите этот шаг, если вам придется использовать скайп или еще для чего-то понадобится камера.

8) Dirty ratio — максимальный размер памяти (в процентах), для хранения грязных данных прежде чем процесс, их сгенерировавший, будет принужден записать их. Чем выше значение, очевидно, тем реже производится запись и тем меньше активность жесткого диска и системы.
9) Dirty background ratio — минимальное число памяти (в процентах), где позволено хранить гразные данные вместо записи на диск. Этот параметр должен быть намного меньше чем dirty_ratio что бы позволить записывать куски грязных данных за один проход.
10) Dirty Writeback sentisecs — как часто ядро должно проверять есть ли «грязные» (измененные) данные для записи на диск (в сантисекундах). Чем выше значение, очевидно, тем реже используется диск для записи грязных данных.
11) Включение режима энергосбережения PCI Express, как говорят люди, позволяет экономить достаточно много энергии батареи.

3. Некоторые проблемы ноутбука (связанные с энергосбережением) и их решения.

Проблема 1. Не работает изменение яркости экрана. Яркость всегда стоит на максимуме. Это критичный момент для энергосбережения, так как яркая подсветка дисплея съедает уйму электроэнергии. Эта проблема наблюдается на многих ноутбуках, на Acer’ах особенно часто. Симптом: изменение яркости с помощью gnome-апплета не дает эффекта, сколько ползунок не таскай, переключение клавишами FN+Right, FN+Left, или аналогичными Fn-комбинациями вешает систему, помогает лишь хард-ресет.
Решение оказалось не самым практичным, но достаточно простым:

Здесь ХХ принимает значения от 00 до FF в шестнадцатеричной системе. Для работы от батареи я выбрал значение 40, для работы от сети — FF.

Источник

Оцените статью