Por que meu i7 nunca usa seu poder de processamento?

4

Estou escrevendo sobre o meu laptop Sony Vaio novamente. É um i7 com 6 GB de RAM, 500 GB 7200 RPM.

Desde que eu o possuí, já vi seu CPU em 100%, talvez uma vez. Na maioria das vezes, os aplicativos parecem rodar na mesma velocidade de um Core 2 Duo, mas com uma porcentagem menor de poder de processamento.

Seria bom se o chip realmente aproveitasse seu poder de processamento para rodar mais rápido que seu antecessor (Core 2 Duo).

Em vez disso, estarei lá esperando por um arquivo para compactar ou um CD a ser copiado e o computador usará 20-25% de seu poder de processamento. Por quê? Eu estou no Windows x64, então isso não deveria alavancar mais o chip?

Às vezes, alterar a prioridade no Gerenciador de Tarefas para Alto ajuda, mas apenas um pouco.

Existe uma maneira de fazer o processador trabalhar mais? É uma questão de IO, onde minha unidade não consegue acompanhar? Como sei que o "turbo boost" está realmente funcionando?

Obrigado! Eu realmente aprecio todas as ideias.

    
por rsteckly 28.11.2010 / 04:02

6 respostas

12

A compactação de arquivos e a cópia de CD provavelmente estão sendo limitadas pelo subsistema de E / S de laptops. O benefício usual de uma CPU mais rápida é que você pode fazer outra coisa enquanto estiver rasgando / comprimindo, etc. Se você normalmente espera que uma tarefa seja concluída antes de iniciar a próxima tarefa, provavelmente desperdiçou seu dinheiro comprando mais CPU do que realmente precisa - pelo menos com o laptop em questão. Adicionar um SSD pode permitir equilibrar melhor a carga de trabalho do I / CPU.

O benefício de um sistema operacional de 64 bits versus 32 é (às vezes) que ele pode fazer mais trabalho com menos ciclos. Em outras palavras, você verá menor utilização da CPU para a mesma quantidade de trabalho real feito. Números baixos para a utilização da CPU não são, em si, uma "coisa ruim". A maioria das pessoas ficaria feliz com essa situação.

    
por 28.11.2010 / 04:08
10

Dependendo do aplicativo, alguns aplicativos são codificados apenas para utilizar 1 ou 2 núcleos. Para que você possa ver um ganho de desempenho com um processador quad core, o aplicativo deve ser projetado para suportar os núcleos extras.

Por exemplo:

https://web.archive.org/web/20120918124251/http://www.legionhardware.com/articles_pages/starcraft_ii_wings_of_liberty_beta_performance,7.html

    
por 28.11.2010 / 04:17
4

Como você está mostrando a utilização da CPU?

Se você usar o gerenciador de tarefas, sugiro usar o Sysinternal Process Explorer. Isso tem uma janela de informações do sistema que você pode abrir, que mostrará um uso total da CPU ou uma caixa de seleção para mostrar a utilização de cada núcleo do processador.

O fato de você citar a cópia de CD e a compactação de arquivos como casos em que a utilização da CPU atinge cerca de 25% SUGERE-ME que a tarefa que você está realizando é limitada por uma única CPU. Por exemplo, a compactação de um arquivo tem desempenho limitado por duas coisas:

  • E / S (disco)
  • desempenho da CPU

A maioria das compactações não pode aproveitar vários núcleos, porque é uma tarefa inerentemente única = encadeada. Portanto, adicionar mais processadores em paralelo não será mais rápido. E, se você visualizar a utilização do processador de cada núcleo, verá um que fica totalmente vazio e os outros praticamente inativos. Agora, um a 100% e 3 a 0% dão uma média de cerca de 25% - então, isso se encaixa com o que você está vendo.

Da mesma forma, a cópia do CD é limitada pela velocidade com que os dados podem ser extraídos do CD e, em seguida, o que você faz com ele. Se você (por exemplo) converter áudio em MP3 como parte do rasgo, então essa conversão também é muito simples, o que significa que vários núcleos de CPU não serão usados (ou farão o trabalho geral ser feito mais rápido). Seu limite será definido pela velocidade de leitura ou pela velocidade de uma única CPU.

Ele SOBE como o motivo pelo qual você vê 20% - 25% é que os trabalhos em que você faz a medição são limitados a uma única CPU que está sendo executada praticamente plana, os outros estão ociosos porque as tarefas que você está fazendo podem t explorar vários processadores.

Para ver se a utilização total do processador pode aumentar, você precisa executar tarefas que podem explorar várias CPUs. (Claro que ninguém te diz se o programa deles faz isso ou não.)

Para pegar um ponto levantado por uma das outras respostas aqui: Alguns problemas são passíveis de paralelismo e se um programa (para esse problema) for escrito corretamente, pode explorar várias CPUs. E alguns problemas não podem explorar tal paralelismo. Tenho certeza, por exemplo, que a compactação no estilo LZ, usada em todos os arquivos comuns do tipo zip, faz o CANT explorar o paralelismo porque o algoritmo precisa ler o arquivo de origem sequencialmente para criar o arquivo compactado. O processamento sequencial como este não pode ser facilmente distribuído por vários encadeamentos (em que os encadeamentos podem ser alocados para processadores físicos).

    
por 28.11.2010 / 08:56
4

Execute o Prime95 para o esgotamento antecipado da bateria.

    
por 04.04.2012 / 02:27
2

O 7-zip usa vários núcleos para compactar arquivos, mas nem todos os algoritmos de compactação permitem a execução multithread.

    
por 28.11.2010 / 12:30
1

As CPUs com maior desempenho podem não ter todo o potencial aproveitado por programas que não foram escritos para aproveitar mais de um núcleo.

Você verá os benefícios de velocidade de alguns dos programas mais recentes, como produtos da Adobe ou software de edição de vídeo, mas normalmente suas velocidades serão as mesmas.

Outra coisa a notar é que as operações são limitadas por mais do que apenas a CPU, se você estiver lendo / escrevendo do disco que adiciona tempo de busca e leitura. Ripping CD's você está limitado a cerca de 52x como o seu máximo de leitura.

    
por 28.11.2010 / 04:41