Existem soluções que podem limitar o uso da CPU de um processo?

70

Estou usando um laptop antigo e fazendo um processamento pesado que precisa de alto uso da CPU por um longo tempo (~ 30 minutos - 2 horas). Quando o processo sobrecarrega a CPU por um longo tempo, a CPU superaquece e o computador é desligado. Não quero usar um cooler / suporte porque estou carregando esse laptop e trabalhando fora de casa.

Existe uma maneira / aplicativo que eu possa limitar o uso da CPU de um processo no Windows?

Nota: A definição da prioridade do processo no gerenciador de tarefas não funciona.

Nota 2: Os ventiladores estão limpos.

nimcap
fonte
6
Não é viável alugar 3 horas de CPU no EC2? Eu imagino que funcionaria muito melhor para a maioria dos casos.
digitxp
você pode especificar qual versão do Windows e qual laptop antigo? Se houver um núcleo duplo, basta especificar o aplicativo para executar em apenas um núcleo, o que o mantém em 50% e, portanto, em temperaturas mais baixas.
Joris Meys
4
@digitxp: Eu sou estudante de doutoramento no momento, se era para fins comerciais, eu teria comprado um laptop novo ou usado uma máquina desktop poderoso de qualquer maneira :)
nimcap

Respostas:

64

Uma pesquisa na rede traz alguns programas que podem ajudar. Eles são todos freeware .

BES - Codificador de Batalha Shirase

O BES é uma pequena ferramenta que limita o uso da CPU para um processo especificado: por exemplo, você pode limitar o uso da CPU de um processo que usaria a CPU 100%, até 50% (ou qualquer porcentagem que você quiser). Com isso, você pode usar outros programas confortavelmente enquanto faz algo que consome muita CPU em segundo plano. Ao limitar a carga da CPU, você também pode esfriar sua CPU imediatamente quando estiver muito quente. Obviamente, a velocidade de processamento diminuirá proporcionalmente se você limitar o uso da CPU, mas deve ser muito melhor do que travar por causa do calor ou (no pior cenário) ter seu computador quebrado com uma CPU queimada.

Processador Tamer

O Process Tamer é um utilitário minúsculo (140k) e super eficiente para Microsoft Windows XP / 2K / NT / Vista / Win7 que é executado na bandeja do sistema e monitora constantemente o uso da CPU de outros processos. Quando vê um processo que está sobrecarregando sua CPU, reduz temporariamente a prioridade desse processo, até que seu uso retorne a um nível razoável.

Laço do processo

Process Lasso é uma nova tecnologia única que aprimora a capacidade de resposta e a estabilidade do seu PC durante períodos de alta carga de CPU. O Windows, por design, permite que os programas monopolizem sua CPU sem restrições - levando a congelamentos, travamentos e micro-atrasos. A tecnologia ProBalance (Process Balance) da Process Lasso ajusta de forma inteligente as prioridades da execução de programas, para que processos mal comportados não afetem negativamente a capacidade de resposta do seu PC.

Mehper C. Palavuzlar
fonte
10
dos três BES parece a melhor aposta. os outros dois valores uso prioritários que não funcionam de acordo com a questão
RobotHumans
4
BES é a minha escolha. É leve e faz o que devemos fazer.
Nimcap
11
O BES não pode limitar o Windows Live Mesh (MOE.exe); ele continua a usar 95%, independentemente de quaisquer configurações. Os outros não podem ajudar, porque já está definido como prioridade ociosa. Torna todo o sistema operacional muito lento de qualquer maneira.
RomanSt
Direito. O BES é o único que executa um limitador de% de CPU. Por que está na 3ª posição ?? :(
erm3nda
Na página do BES na Web: "sim, o BES é uma ferramenta que periodicamente faz o alvo dormir por um período muito curto".
Mtone
15

A solução mais fácil que encontrei é limitar a potência do processador.

  1. Vá ao painel de controle.
  2. Hardware e som
  3. Opções de energia
  4. Editar configurações do plano
  5. Alterar configurações avançadas de energia
  6. Gerenciamento de energia do processador
  7. Estado máximo do processador e reduza para 80% ou o que você quiser. Usando um software que mede as temperaturas da CPU como 'Speed ​​fan', você verá que as temperaturas caem.
Zeppi Ta Leli II
fonte
Você também pode ajustar arrefecimento política há modo passivo pode ajudar
CrandellWS
9

Claro que essa é uma pergunta antiga, mas estou surpreso que ninguém tenha sugerido isso ainda:

Reduza a velocidade da sua CPU.

Praticamente todos os laptops e o próprio Windows incorporaram mecanismos para ajustar dinamicamente a velocidade do processador para corresponder à carga. Você pode substituir esse comportamento - por exemplo, no Painel de controle => Opções de energia => Avançado, você pode definir uma velocidade máxima do processador abaixo de 100%. Seu processador ficará limitado a uma velocidade mais baixa e, portanto, gerará menos calor, não importa o que você esteja fazendo.

Isso não requer software adicional e, o que é mais importante, reduzir a velocidade da CPU torna o processador mais eficiente ; portanto, é uma solução melhor do que limitar o uso da CPU no Windows. Usar 50% de um processador em 2.0Ghz consumirá consideravelmente mais energia do que 100% de um processador em 1.0Ghz. Menos energia = menos calor.

qasdfdsaq
fonte
5

Eu queria adicionar o aplicativo que usei no passado para limitar com êxito a utilização da CPU. Eu usei o threadmaster várias vezes no passado.

http://threadmaster.tripod.com/

John
fonte
5

No Windows 10, 8 e 7:

  1. Vá para o Gerenciador de tarefas.
  2. Clique com o botão direito do mouse no processo para o qual o uso da CPU deve ser limitado. Clique em Ir para detalhes .
  3. Agora, a guia de detalhes será exibida. Clique com o botão direito do mouse no processo específico, escolha definir afinidade e escolha os núcleos que você permitirá que o processo específico use.
sebine francis
fonte
11
No Windows 7, clicar com o botão direito do mouse em um processo no gerenciador de tarefas exibe um menu de contexto e uma das opções é "Definir afinidade", que funciona como você descreve.
David Richerby
O processo que desejo limitar o uso da CPU está acinzentado. O ir para detalhes está acinzentado.
Santosh Kumar
3

Em vez de baixar um programa para fazer isso, se você for ao gerenciador de tarefas e aos detalhes, verá uma lista dos processos que está executando. Se você clicar com o botão direito do mouse e usar a opção "definir afinidade" em vez de "definir prioridade", poderá selecionar quantos núcleos estão sendo usados ​​por um programa individual, limitando assim a quantidade de uso da CPU pelo programa.

GimmeMyGold
fonte
A maioria dos programas é de thread único, portanto, definir a afinidade para 1 núcleo não ajudará em nada. (Programas individuais roscados só pode utilizar um único núcleo de CPU, e não foram o uso de mais do que um núcleo, em primeiro lugar.)
CausingUnderflowsEverywhere
3

Outra maneira muito conveniente de definir a afinidade de um determinado executável quando é iniciado é usar o comando start .

por exemplo: "start / affinity F iexplore.exe". Se houver um único aplicativo que você deseja iniciar, assim, otimizado, você poderá criar um atalho com este comando. Observe que a afinidade é definida por um valor hexadecimal, o que pode exigir algumas tentativas e erros. Verifique o processo no gerenciador de tarefas para visualizar o resultado real da afinidade!

Veja mais aqui: http://blogs.msdn.com/b/santhoshonline/archive/2011/11/24/how-to-launch-a-process-with-cpu-affinity-set.aspx

HPHP
fonte
2

Atualmente, a melhor solução é limitar o uso da CPU por processo, limitando a afinidade da CPU (núcleos aos quais o processo tem acesso). Você tem menos precisão (só pode limitar a determinadas porcentagens), mas essa é uma operação mais natural do que tentar suspender e retomar periodicamente os encadeamentos do processo. O Process Lasso faz um bom trabalho com afinidades de CPU padrão (persistentes). No entanto, ele também tem uma limitação "difícil" do estilo BES, embora isso não seja recomendado, pois é um ato tão antinatural.

dyasta
fonte
1

Fazer um underclocking da CPU permitirá obter velocidades mais lentas da CPU, diminuindo o calor produzido. Você pode precisar de experiência avançada se sua placa-mãe ou CPU não tiver um meio de modificar a velocidade do relógio usando um programa para download. (Procure por utilitários de overclock para sua CPU ou placa-mãe (apenas do fabricante da sua CPU e da placa-mãe), observe que você estará interessado em underclocking.)

Caso não haja utilitários disponíveis, você deverá entrar no BIOS do seu computador e modificar a velocidade do clock do seu processador. A maneira mais fácil é definir o multiplicador para um número menor. Não toque em voltagens, pois isso pode danificar sua CPU se estiver muito alta ou causar erros quando estiver muito baixa. As frequências também não devem ser modificadas, apenas o multiplicador. Para retornar às configurações padrão, leia o manual do BIOS para determinar a tecla a ser pressionada para restaurar as configurações padrão. (Ou apenas inspecione a tela do BIOS com cuidado, especialmente a tela de saída.)

CausandoUnderflowsEverywhere
fonte