A cada versão lançada do Windows temos uma série de melhoramentos no que se refere ao consumo e uso eficiente da energia da máquina. A preocupação por maior tempo de bateria (no caso de notebooks e demais portáteis) e de consumo em desktops corporativos direcionaram uma série de esforços da Microsoft no desenvolvimento de cada edição do Windows, levando ao máximo da eficiência. Este artigo aborda as inovações em consumo de energia no Windows XP, Windows 7 e Windows 8, cobrindo as principais edições do Windows no atual cenário dos usuários domésticos e corporativos.
Permitir que uma plataforma de sistema operacional tenha maior eficiência no uso de energia, independente do hardware dispositivos e softwares exige que sejam atendidos os seguintes requisitos:
Baseado nestes pilares ocorreram vários investimentos no Windows visando melhor eficiência no uso de energia:
O principal cenário de uso de desktops corporativos e domésticos refere-se ao computador ligado, porém sem nenhuma atividade por parte do usuário. Com exceção de momentos que você está digitando ou fazendo qualquer tarefa no computador há situações frequentes no dia a dia em que você mantem o computador ligado e não realiza nenhuma ação por um tempo. O exemplo mais comum seria a saída para almoço, pois em geral as pessoas mantém o computador ligado e neste momento você não estará usando a máquina.
Um comparativo interessante para esta análise refere-se ao consumo de energia do sistema versus utilização de CPU:
Na medida em que são realizados tarefas na máquina de forma geral a cada 10% de uso de CPU impacta em média 1,25W. Em contrapartida a cada 1,25W resulta em média 8,3% de redução no tempo de duração da bateria (para notebooks). Obviamente estes dados podem sofrer variação de acordo com o hardware e demais componentes envolvidos. Entretanto já serve de alerta para administradores de rede e demais profissionais de infraestrutura ao planejar uma instalação de sistema operacional que contenha muitos processos, serviços e drivers, fazendo com que o tempo de vida da bateria seja reduzido mais rapidamente.
Quando compramos um notebook em uma loja já recebemos a máquina com o sistema operacional e diversos aplicativos e dispositivos pré-instalados. Isto oferece maior comodidade ao usuário do equipamento mas também traz um outro problema, se você pensar no gráfico mostrado acima. Muitos aplicativos desnecessários em execução na máquina vão consumir mais rapidamente a bateria de um notebook. Agora imagine este cenário para sua empresa (ou cliente, caso seja um prestador de serviço) se você comprar um notebook e apenas entregar para um usuário. Muito provavelmente em pouco tempo o usuário deste equipamento vai reclamar do tempo curto de vida da bateria.
Mesmo as instalações de sistema operacional personalizadas de notebooks em empresas também podem ser afetadas pelo mesmo problema. Em uma imagem de Sistema Operacional em ambiente corporativo você não terá os mesmos aplicativos que acompanham os equipamentos adquiridos em lojas para consumidores, entretanto você tem configurações (varreduras frequentes de antivírus, atualização automática de drivers, etc) e aplicações (softwares de gerenciamento, de inventário de hardware, etc) que vão consumir muito a CPU do equipamento.
Ao fazer uma instalação “limpa” do sistema operacional em uma máquina (no caso um notebook) você perceberá claramente o tempo maior de duração da bateria. Após instalar drivers, aplicativos de gerenciamento, configurações extras de varredura de vírus, etc você perceberá uma duração menor da bateria. Outros fatores afetam este consumo, principalmente drivers chunk size, etc.
Não há como deixar de ter drivers e demais aplicativos de gerenciamento e segurança em um ambiente corporativo. Entretanto saber otimizar tais processos é essencial. Os drivers são uma das partes mais críticas, e isto é a grande diferença ao comprar um hardware de marca X (que seja homologada de acordo com normas de consumo de energia, etc) em relação a uma marca Y (que não atende nenhuma especificação de consumo de energia).
O estado ocioso é predominante na maior parte dos cenários de computadores, e reduzir o consumo de energia neste estado é a chave para aumentar o tempo de vida da bateria (em notebooks) ou reduzir apenas o consumo (para desktops em geral).
Pensando nisso um dos focos de atenção são as atividades periódicas em background, que aumentam o consumo de energia do sistema. Eventos muito frequentes impactam na energia do processador, chipset, disco, etc. Eventos esporádicos de longa duração previnem que o sistema entre em modo sleep.
O Windows 7 já oferece uma série de melhoramentos (que aliás foram aperfeiçoados no Windows 8) para a frequência do modo ocioso da máquina. Os principais melhoramentos são:
Por padrão o Windows 7 utiliza resolução de Timer de 15,6ms. Desta forma as aplicações em geral no Windows 7 tem um tempo de resposta satisfatório e não dão a impressão de lentidão para o usuário. Este padrão é especificado no Guia para Desenvolvedores, disponível no MSDN (http://www.microsoft.com/whdc/system/pnppwr/powermgmt/Timer-Resolution.mspx) . Entretanto existem aplicações que reduzem este Timer para 1ms, com o objetivo de tornar a aplicação responder a uma interação de tela mais rapidamente. Tal ajuste pode reduzir o tempo de duração da bateria em até 25%, e isto é crítico quando se pensa em uso eficiente de energia. Em geral os navegadores fazem estas alterações quando instalados na máquina (ex: o navegador opera ao ser instalado muda o Timer do Windows 7 (de 15,6ms para 2,5ms)).
O serviço de Scheduler do Windows permite alocar de forma dinâmica o uso dos Cores da máquina, utilizando-os na medida do necessário. Desta forma o serviço aloca os processos e threads nos núcleos que forem apenas necessários, e desativando (e ativando) demais Cores quando for solicitado. Este processo é o principal componente do Core Parking e tem maior utilização em ambientes com virtualização.
Aplicações e Drivers em uma máquina poder ter ciclos independentes, cada um fazendo solicitação ao processador na medida que achar necessário. Com o Timer Coalescing as aplicações e drivers que utilizarem a API do mesmo especificam qual é o Delay tolerável. Desta forma as requisições dos aplicativos e drivers são preferencialmente feitas em lotes, agrupando em poucas chamadas aos Cores. Desta forma com uma quantidade menor de chamadas aos Cores há um consumo reduzido de energia
Quando um sistema operacional é ligado, em background todos os serviços também são inicializados e, dependendo da quantidade de serviços, pode aumentar muito o tempo de inicialização do sistema operacional. Nem todos os serviços precisam ser inicializados junto com o sistema operacional e isto traz um desempenho melhor na inicialização e consequentemente menor consumo de energia quando for inicializar o sistema operacional. A partir do Windows 7, Windows Server 2008 R2, Windows 8 e Windows Server 2012 muitos serviços são configurados para Autostart, aguardando eventos específicos (triggers) para inicializar. O UBPM (Unified Background Process Manager) habilita os serviços inicializáveis por Trigger, baseado em alterações no ambiente. Estas alterações podem ser:
Além dos fatores técnicos de melhoria na arquitetura também temos outros pontos que foram levados em consideração no gerenciamento de energia no sistema operacional:
Desde o lançamento do Windows Vista houve grande preocupação para ter flexibilidade de gerenciamento e consumo de energia da máquina de acordo com estado da bateria. O Windows implementa políticas básicas de gerenciamento de energia, e você também pode criar a sua, atendendo aos requisitos que desejar. Você pode estabelecer thresholds (ou pontos de atenção) da forma que desejar, e para cada ponto pode definir ações, mensagens, etc. Em cenários com notebooks isto é muito benéfico.
Muitas máquinas possuem leitor de mídia (DVD, CD, Blu-Ray, etc.) e a preocupação quando é inserida uma mídia é de que o motor do leitor não consuma tanta energia. Um dos melhoramentos implementados a partir do Windows 7 é o mecanismo de desativar o leitor após período de inatividade. Além disso há a possibilidade de configurar uma política de energia que force o conteúdo de vídeo a renderizar a 30fps, reduzindo uso de CPU e GPU. Além disso há outros melhoramentos no uso de CPU para conteúdos protegidos por cópia e/ou com DRM.
Por padrã0 o WoL (Wake-on-Lan) é habilitado em desktops, o que torna um recurso extra para gerenciamento de energia. Isto permite, por exemplo, ajudar o sistema a manter em Sleep Mode por mais tempo, com baixo consumo de energia. Outros recursos de hardware (TCP Offload, VMq, etc) ajudam e trabalham bem com o sistema operacional para aliviar uso de CPU, entretanto dependem de driver e só em alguns modelos de equipamento.
Conforme vimos anteriormente existem várias tecnologias e melhoramentos no Windows para auxiliar no uso mais eficiente de energia. A partir do Windows 7 foram implementadas políticas mais agressivas de gerenciamento de energia que procuram colocar o sistema em modo Sleep sempre que estiver ocioso. Somente via interação do usuário e disponibilidade da aplicação é que o sistema permanece em modo ativo. As requisições de disponibilidade permitem que aplicações temporariamente sobrescrevam o gerenciamento de energia. Exemplos:
O PowerCfg é um utilitário nativo no sistema operacional Windows que permite realizar diagnósticos de uso de energia, além de permitir configurações avançadas. Você também pode utilizá-lo para detectar problemas comuns de eficiência de energia como:
Duas principais funcionalidades do PowerCfg são:
You must be logged in to post a comment.