De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Conservação de energia em processadores Athlon

Colaboração: Stefan da Silva Billieri

Data de Publicação: 10 de Novembro de 2004

Segue anexo um script em bash shell que habilita o estado de conservação máxima de energia de processadores Athlon em placas-mãe com chipset KT266/266A/333 ou KM266/333. Para outros chipsets, é necessário alterar o script conforme especificações abaixo.

Nos testes, a temperatura de um processador Athlon XP1800+ baixou de 54°C para 42°C, num dia em que a temperatura ambiente estava em 27°C. A 54°C, o dissipador do processador estava bastante quente, ficando deveras frio a 42°C. Pode-se visualizar a variação de temperatura utilizando-se gkrellm e lm-sensors, caso este suporte o chip que amostra a temperatura do processador. As placas-mãe A7V266C possuem chip Asus AS99127F para medição de temperatura, que é suportado por lm-sensors, embora o suporte seja beta. O AS99127F informa 3 temperaturas ao gkrellm:

  • temp1: temperatura da placa-mãe (°C).
  • temp2: temperatura do processador (°C). É necessário ajustar factor=2 para mostrar a temperatura real do processador, de forma a coincidir com a temperatura indicada pelo setup do BIOS.
  • temp3: não sei. Sempre mostra 112°C.

O gkrellm também mostra a rotação da ventoinha.

Para outros chipsets, é necessário editar o script e mudar os parâmetros do comando setpci:

  KT133/133A, KX133, KL/KLE133, KM/KN133, ...: (precisa de acpi ativado)

ativa

  setpci -v -H1 -s 0:0.0 52=$(printf %x $((0x$(setpci -H1 -s  0:0.052) | 0x80)))

desativa

  setpci -v -H1 -s 0:0.0 52=$(printf %x $((0x$(setpci -H1 -s 0:0.0 52) & 0x7f)))

KT400/KT600

ativa

  setpci -v -H1 -s 0:0.0 D2=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D2) | 0x80)))
  setpci -v -H1 -s 0:0.0 D5=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D5) | 0x02)))

desativa:

  setpci -v -H1 -s 0:0.0 D2=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D2) & 0x7f)))
  setpci -v -H1 -s 0:0.0 D5=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D5) & 0xfd)))

Outros chipsets podem ser consultados em: http://linuxreviews.org/howtos/power/Athlon-Powersaving-HOWTO/en/

Supondo que o script seja salvo no arquivo "athloncooler".

Para ativar o estado de conservação:

  $> athloncooler 1

Para desativar:

  $> athloncooler 0

Eis o bash script (APENAS PARA KT266/266A/333 ou KM266/333 CHIPSETS):

  #!/bin/bash
  # Seta o bit " Disconnect enable when STPGNT detected" do north-bridge do chipset KT266/266A/333 ou KM266/333 permitindo que o processador Athlon atinja um estado de conservação de energia onde sua temperatura cai drasticamente.
  #
  
  case $1 in
  # Desabilita estado de conservação de energia
  0)
  echo -e "\e[40;33;1mDESATIVADA \e[m conservação de energia do processador Athlon"
  setpci -v -H1 -s 0:0.0 92=$(printf %x $((0x$(setpci -H1 -s 0:0.0 92) & 0x7f)))
  setpci -v -H1 -s 0:0.0 95=$(printf %x $((0x$(setpci -H1 -s 0:0.0 95) & 0xfd)))
  ;;
  # Habilita estado de conservação de energia
  1)
  echo -e "\e[40;33;1mATIVADA \e[m conservação de energia do processador Athlon"
  setpci -v -H1 -s 0:0.0 92=$(printf %x $((0x$(setpci -H1 -s 0:0.0 92) | 0x80)))
  setpci -v -H1 -s 0:0.0 95=$(printf %x $((0x$(setpci -H1 -s 0:0.0 95) | 0x02)))
  ;;
  esac
Error: No site found with the domain 's2.dicas-l.com.br' (Learn more)