Главная » Статьи » Статьи о Linux | [ Добавить статью ] |
Мониторинг использования приложений, системных атрибутов и действий
пользователя с целью более эффективного управления энергопотреблением
вашего ноутбука или настольного компьютера. Интерфейс ACPI (Advanced Configuration and Power Interface) и системы управления энергопитанием, встроенные в современные компьютеры, предоставляют обширный набор возможностей для сокращения общего потребления энергии. Операционная система Linux и сопутствующие пользовательские программы располагают большим числом инструментов, позволяющих управлять энергопотреблением персонального компьютера в самых различных сценариях. Большая часть современной документации ориентируется на изменение параметров ядра и настроек утилиты hdparm с целью уменьшения объема ненужной дисковой деятельности. Кроме того, имеется обширная документация по изменению настроек процессора с целью максимального использования преимуществ динамического масштабирования его тактовой частоты в зависимости от текущего источника энергии. В этой статье описываются инструменты и программы, позволяющие эффективнее использовать эти энергосберегающие механизмы посредством мониторинга шаблонов использования приложений. Используйте представленные в этой статье методы для изменения настроек энергопотребления своего компьютера в зависимости от таких факторов как находящееся в фокусе приложение, деятельность пользователя и общая производительность системы. Требования к аппаратным средствам и программному обеспечению Любой ПК, произведенный после 2000 г., должен располагать аппаратными и программными средствами, способными сокращать потребление энергии. Вам потребуется современное ядро ОС Linux, кроме того, полезно иметь дистрибутив Linux с большим числом встроенных инструментов для экономии энергии. Однако даже такие простейшие меры как гашение экрана или автоматическое выключение способны обеспечить существенный эффект с точки зрения потребления энергии. Представленный в этой статье код окажется полезным и для более старых или не поддерживающих ACPI аппаратных средств. Хотя этот код демонстрируется на персональном компьютере, серверы или удаленные терминалы также смогут использовать эти концепции для регулирования своего энергопотребления в соответствии с пользовательской активностью. Сокращение расхода энергии на основе мониторинга использования приложений может быть реализовано в различной форме. В этой статье используется следующая концепция. Сначала осуществляется выявление характерных шаблонов использования, сопровождаемых «потерями» энергии, после чего инициализируется соответствующий режим экономии энергии. В листинге 1 приведен фрагмент программы focusTracker.pl с кодом для начала процесса выявления. Листинг 1. Заголовок программы focusTracker.pl
В дополнение к необходимым элементам этот модуль содержит описания переменных; в частности, определен фиксатор (catcher) для сигналов о прерывании, что позволяет выводить на печать ассоциированный заголовок для каждого прогона данных. Такое разделение файлов данных и файлов заголовков упрощает визуализацию результатов при использовании таких инструментов как kst. В листинге 2 приведено начало основного цикла обработки. Листинг 2. Начало основного цикла программы focusTracker.pl
В каждом чтении из Листинг 3. Управление конвейером программы focusTracker.pl
После того как чтение данных об использовании центрального процессора и диска будет завершено, показатели использования преобразуются в серию значений в масштабе 2-12. Это делается исключительно с целью визуализации. При наличии нескольких центральных процессоров или дисков Fibre Channel может потребоваться изменение масштаба преобразования. Указанные в этой статье значения хорошо работают при использовании одного центрального процессора и одного IDE-диска на ноутбуке IBM® ThinkPad T42p. Если между чтениями входных данных положение фокуса изменилось, старый конвейер к процессу xev «ликвидируется» и запускается новый конвейер. Программа xev, прикрепленная к текущему окну с фокусом, отслеживает любые нажатия клавиш или движения мыши. В листинге 4 показано, как осуществляется обработка этих событий. Листинг 4. Чтение конвейера focusTracker.pl
Доступ к этому логическому блоку производится только в том случае,
если фокус приложения не меняется в промежутке между чтениями входной
информации. Если в конвейере присутствуют данные (нажатие клавиши или
движение мыши) от приложения «в фокусе», то для этого приложения
устанавливается соответствующее двоичное состояние деятельности. Для
очистки конвейера достаточно прочитать все выходные строки xev. После
каждого полного цикла ввода осуществляется вывод на печать информации
об использовании центрального процессора и диска, а также двоичных
данных о фокусе. В листинге 5 приведена подпрограмма Листинг 5. Подпрограммы focusTracker.pl
Использование программы focusTracker.pl Программа focusTracker.pl ожидает ввода данных из программы iostat с регулярными интервалами. В листинге 6 приведен пример командной строки для записи информации об использовании приложения. Листинг 6. Пример команды focusTracker.pl
Нажмите комбинацию клавиш Ctrl+C, чтобы прервать выполнение программы focusTracker.pl. Обратите внимание, что символ Листинг 7. Пример результатов работы программы focusTracker.pl
Обратите внимание, как второй и пятый элементы показывают информацию о фокусе для окон приложений Eterm и Firefox. Переключение между окнами и ввод с клавиатуры/перемещение мыши заставит индикатор фокуса соответствующего окна переключиться из состояния «0» в состояние «1». Исполнение программы focusTracker на протяжении коротких промежутков времени в присутствии пользователя – это хороший способ для сбора данных по использованию приложений и по бездействию компьютера. В качестве альтернативного варианта можно исполнять программу focusTracker.pl на протяжении всей вычислительной сессии или всего рабочего дня с целью получения большого объема данных для последующих процедур анализа и визуализации. Для обработки больших объемов данных, генерируемых программой focusTracker.pl, лучше всего подходят такие инструменты как kst. На рисунке 1 показан пример анализа данных из файла activityLog.data. Рисунок 1. Пример визуализации с помощью kst При генерации показанного выше графика использование центрального процессора и диска представлено с помощью линий, а двоичные данные о фокусе для каждого приложения представлены отдельными точками. Начиная примерно с точки 196 по оси X, фокус находится у приложения Firefox, результатом чего является пик активности центрального процессора и диска. Эта деятельность не сопровождается последующими входными событиями, поэтому после нее следует возвращение к «нормальному» использованию центрального процессора и диска. В этот момент внешний наблюдатель за пользователем данного компьютера увидел бы переход от написания кода в различных окнах Eterm к загрузке в приложение Firefox страницы с информацией о локальном трафике. После этого пользователь покинул свой компьютер и ушел на обеденный перерыв. Типовая настройка управления энергопотреблением для данной ситуации сводится к активации экранной заставки после истечения заданной продолжительности бездействия системы. Знание описанных выше шаблонов использования позволяет задать следующее правило: если приложение Firefox было активировано в период между 11:30 и 12:30, и при этом имела место лишь кратковременная активность пользователя, то система должна переключаться в режим низкого энергопотребления. Кроме того, рассмотрим низкий уровень использования центрального процессора и диска, соответствующий работе с приложением Eterm/vim. Активация режима пониженного энергопотребления в данном случае будет вполне логичным шагом, поскольку для ввода текста в vim не требуется большой процессорной мощности. Уменьшение скорости вращения жесткого диска и снижение частоты центрального процессора может быть реализовано для любого промежутка времени, на протяжении которого активность центрального процессора и диска находится ниже заданного порога. Описанные выше правила могут быть кодифицированы следующим образом (листинг 8). Листинг 8. Пример правил inactivityRulesFile
Примечание. Если требуется только проверка деятельности
пользователя, то значения для центрального процессора и диска могут
быть заданы как null. Если значения для центрального процессора и диска
определены, то в дальнейшем они рассматриваются как минимальные
значения использования, которые должны быть достигнуты для запуска
команды на исполнение. Переменная Обработка файла inactivityRulesFile и измерение использования приложений в системе – это функции программы monitorUsage.pl. В листинге 9 приведена первая часть этой программы. Листинг 9. Заголовок программы monitorUsage.pl
Как и в случае программы focusTracker.pl, в программу включены
библиотеки и определения переменных. Контент файла inactivityRulesFile
загружается в хеш Листинг 10. Программа monitorUsage.pl – чтение данных; управление конвейером
В данном случае потребность в отслеживании нескольких приложений отсутствует, поэтому хеш Листинг 11. Чтение конвейера monitorUsage.pl
Проверка на соответствие правилам и выполнение команд осуществляется только в том случае, когда приложения являются неактивными; таким образом, любая активность со стороны клавиатуры или мыши перезагружает таймеры бездеятельности приложений. Вызов приведенного в листинге 12 кода осуществляется в том случае, если в конвейере отсутствуют какие-либо данные об активности пользователя. Листинг 12. Проверка правил в программе monitorUsage.pl
Обработка правил осуществляется согласно показанному выше списку и
для каждого правила начинается с проверки, призванной гарантировать,
что команда данного правила еще не выполнялась. После этого выполняется
проверка на соответствие имени окна и имени правила для приложения.
Затем должна быть достигнута общая продолжительность бездействия (в
секундах), а также активизировано окно истинного времени для подлежащей
выполнению команды. И, наконец, если условия для центрального
процессора и диска выполнены, то соответствующая команда исполняется,
после чего осуществляется обработка следующего правила. В листинге 13
приведена уже знакомая нам подпрограмма Листинг 13. Подпрограмма createPipe программы monitorUsage.pl
Использование программы monitorUsage.pl Исполняйте программу monitorUsage.pl с параметрами Представленные в этой статье инструменты и программы помогут вам сократить расход энергии посредством применения набора правил, касающихся использования приложений. После настройки ядра ОС, hdparm, ACPI и параметров центрального процессора добавьте описанные мониторы приложений для повышения эффективности перехода в состояние пониженного энергопотребления. Используйте визуализацию с помощью инструментов focusTracker и kst для нахождения промежутков бездействия и создайте правила, которые помогут сократить энергопотребление и сделают вашу систему более экологичной.
Источник: http://www.ibm.com/developerworks/ru/library/os-smart-monitors/?S_TACT=105AGX99&S_CMP=GR01 | ||||||||||||||||||||||||||||||||||||||||||||||||||
Просмотров: 4096 | |
Всего комментариев: 0 | |
Операционные Системы
[61]
ОС Open Source
|
Мобильный Linux [26] |
Сравнение ОС [7] |
Статьи о Linux [16] |
Свободное ПО [10] |
Програмирование [6] |
Не для нубов [5] |
Ядро [13] |
Хранилище данных [9] |
Устройства [1] |
Установка/конфигурирование/планиров [16] |
Файловые системы [3] |
Управление, основанное на политиках [1] |
Управление инфраструктурой [0] |
Серверы [5] |
Биографии [6] |
Прочее [25] |