Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:оптимизация_энергопотребления [2011/04/06 23:35] [Энергосбережение SATA] |
wiki:оптимизация_энергопотребления [2015/09/21 20:52] (текущий) |
||
---|---|---|---|
Строка 105: | Строка 105: | ||
==== Эффективная работа памяти ==== | ==== Эффективная работа памяти ==== | ||
- | FIXME | + | С точки зрения работы с памятью можно оптимизировать процесс записи изменённых данных на диски. |
- | 8) Dirty ratio — максимальный размер памяти (в процентах), для хранения грязных данных прежде чем процесс, их сгенерировавший, будет принужден записать их. Чем выше значение, очевидно, тем реже производится запись и тем меньше активность жесткого диска и системы. | + | Dirty ratio — максимальный размер памяти (в процентах), для хранения "грязных" данных. При превышении этого объёма данных процесс, их сгенерировавший, будет принужден записать их. Очевидно, чем выше значение, тем реже производится запись и тем меньше активность жесткого диска и системы: |
- | echo 10 > /proc/sys/vm/dirty_ratio | + | |
- | echo 90 > /proc/sys/vm/dirty_ratioe #при работе от батареи | + | |
- | 9) Dirty background ratio — минимальное число памяти (в процентах), где позволено хранить гразные данные вместо записи на диск. Этот параметр должен быть намного меньше чем dirty_ratio что бы позволить записывать куски грязных данных за один проход. | + | <code bash> |
- | echo 5 > /proc/sys/vm/dirty_background_ratio #в нормальном режиме | + | echo 10 > /proc/sys/vm/dirty_ratio # при работе от сети |
- | echo 1 > /proc/sys/vm/dirty_background_ratio #в режиме энергосбережения | + | echo 90 > /proc/sys/vm/dirty_ratio # при работе от батареи |
+ | </code> | ||
- | 10) Dirty Writeback sentisecs — как часто ядро должно проверять есть ли «грязные» (измененные) данные для записи на диск (в сантисекундах). Чем выше значение, очевидно, тем реже используется диск для записи грязных данных. | + | Dirty background ratio — минимальное число памяти (в процентах), где позволено хранить "гразные" данные вместо записи на диск. Этот параметр должен быть намного меньше, чем dirty_ratio, чтобы позволить записывать куски грязных данных за один проход. |
- | echo 6000 > /proc/sys/vm/dirty_writeback_centisecs | + | |
- | echo 60000 > /proc/sys/vm/dirty_writeback_centisecs #для энергосбережения | + | <code bash> |
+ | echo 5 > /proc/sys/vm/dirty_background_ratio #в нормальном режиме | ||
+ | echo 1 > /proc/sys/vm/dirty_background_ratio #в режиме энергосбережения | ||
+ | </code> | ||
+ | |||
+ | Dirty Writeback sentisecs — как часто ядро должно проверять есть ли "грязные" (измененные) данные для записи на диск (в сантисекундах). Чем выше значение, тем реже используется диск для записи грязных данных: | ||
+ | |||
+ | <code bash> | ||
+ | echo 6000 > /proc/sys/vm/dirty_writeback_centisecs # при работе от сети | ||
+ | echo 60000 > /proc/sys/vm/dirty_writeback_centisecs # для энергосбережения | ||
+ | </code> | ||
==== Энергосбережение PCI Express ==== | ==== Энергосбережение PCI Express ==== | ||
Строка 127: | Строка 136: | ||
echo default > /sys/module/pcie_aspm/parameters/policy # Выключаем | echo default > /sys/module/pcie_aspm/parameters/policy # Выключаем | ||
</code> | </code> | ||
+ | |||
+ | ==== Отключение дискретной видеокарты ==== | ||
+ | |||
+ | <note warning>Метод работает до Ubuntu 13.10 включительно.</note> | ||
+ | |||
+ | Во многих ноутбуках имеется возможность переключаться между встроенным графическим чипом, маломощным и малотребовательным к электроэнергии, и сравнительно сильной и энергоемкой картой. Многим пользователям производительная графическая карта нужна редко, поэтому имеет смысл отключить ее по умолчанию с возможностью быстрого и безболезненного включения. | ||
+ | |||
+ | В версиях ядра, начиная с 2.6.34, присутствует механизм vga_switcheroo, позволяющий переключаться между видеокартами. То есть в Ubuntu 10.10 он есть по умолчанию. Пользоваться им достаточно просто. | ||
+ | |||
+ | Вначале выполняем: | ||
+ | |||
+ | <code bash> | ||
+ | lspci | grep VGA | ||
+ | 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) | ||
+ | 01:00.0 VGA compatible controller: ATI Technologies Inc M92 LP [Mobility Radeon HD 4300 Series] (rev ff) | ||
+ | </code> | ||
+ | |||
+ | Зная, какой GPU как обозначается, можно посмотреть, какой из них в каком состоянии: | ||
+ | |||
+ | <code bash> | ||
+ | cat /sys/kernel/debug/vgaswitcheroo/switch | ||
+ | 0: :Pwr:0000:01:00.0 | ||
+ | 1:+:Pwr:0000:00:02.0 | ||
+ | </code> | ||
+ | |||
+ | Плюсик стоит на против видеочипа, который используется в данный момент, Pwr означает, что видеокарта включена и потребляет энергию. | ||
+ | |||
+ | <note important>Чаще всего для всех ноутбуков с двумя видеокартами картина одинаковая: что бы вы не делали, при загрузке системы обе карты работают, при этом для вывода используется встроенная «слабая» графика. Это нам на руку, ибо обесточивание неактивной видеокарты происходит бескровно.</note> | ||
+ | |||
+ | Команда | ||
+ | |||
+ | <code bash> | ||
+ | echo OFF > /sys/kernel/debug/vgaswitcheroo/switch | ||
+ | </code> | ||
+ | |||
+ | отключает неиспользуемую GPU сразу же. Поэтому мы обратимся к файлу /etc/rc.local, добавив в него вышеуказанную команду (перед строчкой exit 0). Так, при загрузке систему дискретная видеокарта уже будет отключена и не нужно будет беспокоиться ни о чем: | ||
+ | |||
+ | <file> | ||
+ | 0: :Off:0000:01:00.0 | ||
+ | 1:+:Pwr:0000:00:02.0 | ||
+ | </file> | ||
+ | |||
+ | <note important>Судя по всему vga_switcheroo не работает, если установлены проприетарные драйверы на дискретную видеокарту.</note> | ||
+ | |||
+ | Кстати, если вы хотите переключаться между видеокартами через графический интерфейс, можете установить [[http://sites.google.com/site/ubuntucontrolcenter/|Ubuntu Control Center]]. Программа представляет собой панель управления параметрами Ubuntu, но нас она интересует исключительно из-за опции переключения между GPU (естественно, здесь это тоже происходит средствами vga_switcheroo). | ||
+ | |||
+ | Будьте аккуратны с UCC: во-первых, работает кривовато, например, иногда необходимо вначале переключиться на дискретную видеокарту, а лишь затем на встроенную, чтобы обесточить дискретную (либо вначале выполнить | ||
+ | |||
+ | <code bash> | ||
+ | echo OFF > /sys/kernel/debug/vgaswitcheroo/switch | ||
+ | </code> | ||
+ | |||
+ | а затем переключаться на встроенную GPU). Но работает. Во-вторых, переключение происходит сразу, то есть без спросу выполняется завершение сеанса и приходится вновь залогиниваться. | ||
+ | |||
+ | Больше о переключаемой графике можно почитать в [[https://help.ubuntu.com/community/HybridGraphics|Убунту-вики]], в [[http://asusm51ta-with-linux.blogspot.com/|этом блоге]] и [[http://habrahabr.ru/blogs/ubuntu/94032/|на Хабрахабре]]. | ||
====== Ссылки ====== | ====== Ссылки ====== |