Como posso dar o máximo de utilização da CPU para este processo Python?

1

Estou usando o Spyder IDE para análise de dados usando o Python. Meu conjunto de dados é muito grande e, portanto, desejo dar prioridade máxima a ele.

Eu defini a prioridade para tempo real, no entanto, é só usar 13-15% da CPU. Como posso dar 100% de uso da CPU? Estou usando o ultrabook Dell Insiron 15Z com 2 RAMs de 4 GB cada.

    
por Aditya 13.03.2016 / 15:19

3 respostas

4

Se nada mais estiver rodando e usando apenas uma pequena porcentagem da CPU, então isso está lhe dizendo que não está ligado à CPU: alguma outra coisa está limitando isso.

Meu primeiro palpite é que o acesso ao sistema de arquivos o limita, por isso gasta muito tempo esperando para ler os dados.

    
por 13.03.2016 / 15:25
0

Eu vejo na sua captura de tela que você está usando o Gerenciador de tarefas para inspecionar o uso desse processo. A melhor maneira de analisar essa situação seria com o Monitor de Recursos :

Open Resource Monitor by clicking the Start button. In the search box, type Resource Monitor, and then, in the list of results, click Resource Monitor. Administrator permission required If you're prompted for an administrator password or confirmation, type the password or provide confirmation.‌

A partir daí, você pode selecionar o processo que deseja monitorar e clicar nas diferentes guias para ver a atividade de disco, rede ou CPU do processo específico que você selecionou.

Isso permite que você veja melhor os recursos usados pelo seu processo e pode determinar se é o disco ou a rede que está causando lentidão.

    
por 14.03.2016 / 19:36
0

Provavelmente é a espera pela E / S que está prendendo você. O acesso à rede é mais lento do que acessar o armazenamento local, os SSDs são mais rápidos do que os HDDs e a RAM é mais rápida que o SSD.

Se o conjunto de dados for realmente grande e produzir um resultado grande - você pode querer ler de uma unidade e escrever para outra, para que haja menos pesquisas.

Outra coisa para procurar - é comutadores de contexto, por exemplo, seu programa pode ter logging excessivo e depois de cada operação ele tem que esperar para mudar para o sistema operacional para passar alguma string para o emulador de terminal, que renderiza uma string de texto que você não vai ler de qualquer maneira.

    
por 26.03.2016 / 14:33