Está reduzindo o uso máximo do processador nas opções de energia?

2

Meu PC tem:

  • Core 2 Duo
  • 4 GB de RAM
  • Gráficos ATI 5450 Radeon
  • Windows 7 de 64 bits

Eu quero reduzir o uso máximo da CPU em Opções de Energia no Painel de Controle para evitar o superaquecimento. Isso é seguro ou pode reduzir o hardware de dano máximo de uso da CPU (disco rígido, CPU, etc.)? /

    
por ali 13.12.2013 / 17:20

1 resposta

8

A opção em questão não é por baixo do clock; Windows não manipula a CPU ou placa-mãe ou multiplicadores ou FSB ou qualquer coisa. A opção sobre a qual você está perguntando é simplesmente um fator que é usado durante o agendamento de tarefas .

Quando os processos são executados, o agendador de tarefas do Windows aloca um número específico de ciclos de CPU para diferentes processos e alterna de volta e para permitir que preemptivo multitarefa . Normalmente, ele atribui quantos ciclos de CPU estiverem disponíveis para executar tudo o mais rápido possível. Se houver ciclos livres, ele permite que o programa seja executado; caso contrário, ele coloca o processo em uma fila e verifica se existe outro programa que tenha esgotado a sua quota para o "quantum" atual ( ou "time-slice") e deve ser movido para o final da linha.

Não é de surpreender que a CPU com 100% de capacidade funcione por um tempo, e isso pode ser indesejável. O que o Windows permite que você faça é atribuir um limite para o quanto a capacidade da CPU é utilizável.

Nesse caso, quando os processos solicitam o tempo de CPU, o agendador funciona exatamente como antes, exceto pelo fato de usar o limite especificado em seus cálculos em vez de 100%. Como resultado, haverá ciclos de CPU que permanecem sem uso, o que permite que a CPU permaneça em uma temperatura mais baixa.

Como exemplo simplificado e inventado, imagine que esse era o pseudo-código para o algoritmo de agendamento (com comentários marcados por ; ):

; function to calculate total CPU cycles used by all processes
calc-total-used:
  used-total = 0                             ; initialize counter to 0
  for each program:                          ; loop through each running process
    used-total = used-total + process-used   ; add CPU cycles of each process to counter
  return used-total as percentage            ; convert to percent and return value

; main scheduling control, check if free cycles available
if (calc-total-used < max-percent)           ; calc used %, see if less than max allowed
  then run program                           ; if so, run the program
  else:                                      ; if not, try to free some up
    add program to queue                     ; if not, add it to the queue
    …                                        ; check if any process are out of cycles

Observe como o cálculo do agendamento usa uma variável max-percent de codificação 100% . Dessa forma, se você defini-lo abaixo de 100%, ele só permitirá que um programa seja executado se o uso atual for menor que 100% , o que significa que qualquer CPU circula entre max-percent acima que não será usado.

Portanto, esta opção não pode prejudicar a CPU; não é diferente de simplesmente não rodar nenhum programa e apenas rodar o sistema (você provavelmente já teve seu sistema inativo perto de 0% da carga da CPU muitos vezes).

    
por 13.12.2013 / 19:30

Tags