Reative os processos adormecidos no Windows7

3

Eu tenho um programa muito computacionalmente intensivo (que eu escrevi em python) e começando dois dias atrás eu corri 6 cópias dele em paralelo (usando 6 terminais Cygwin em um Mac Book Pro executando o Windows7 no bootcamp). Isso foi o suficiente para maximizar a minha máquina de 4 núcleos (8 núcleos lógicos de hyperthreading) no momento. Por algum motivo, após 2,5 dias, embora todos os 6 processos ainda estejam em execução, minhas CPUs estão com menos da metade do uso. Quando eu uso o gerenciador de tarefas, vejo 60% ociosos e 3 dos 6 processos python2.7 reivindicam 13% e 3 dos processos python2.7 que reivindicam 0%. Eu gostaria que eles novamente maximizassem as capacidades da minha máquina.

Para cada um dos processos, a prioridade foi aumentada para 'Alta' ou em tempo real, mas isso não parece ter nenhum efeito. Como posso tornar esses programas ativos novamente e usar o máximo de CPU possível? Esses processos têm informações importantes sobre o estado que eu gostaria de preservar - existe alguma maneira de forçar um dump de programa e, em seguida, continuar desse dump com o mesmo estado? Também qualquer palpite sobre o porquê de esses programas pararem de usar a capacidade total depois de vários dias (meu palpite é algum tipo de problema de superaquecimento para colocá-los em um estado de suspensão, mas não tenho ideia)? Obrigado.

Editar: Informações adicionais potencialmente relevantes incluem, esses processos podem fazer solicitações da Internet e arquivos de leitura / gravação, o que eu entendo que poderia levar ao bloqueio. No entanto, o arquivo para o qual todos eles escreveram foi atualizado com êxito, já que pareciam ter parado (por um dos 13% de processos) e esses processos ativos também realizavam chamadas pela web com sucesso ...

    
por hackartist 15.10.2014 / 04:37

1 resposta

0

Mistério (infelizmente) resolvido: os scripts de alguma forma foram interrompidos ao tentar fazer uma chamada pela web (mesmo que outras cópias continuassem a fazer isso com sucesso). Eu tive que matar os processos e perder algum estado que havia gerado, mas reestruturei meu programa para sempre salvar antes de fazer a chamada da web, para não perder o estado se isso acontecer no futuro. Desculpe a solução não foi mais emocionante - não parece que os processos são capazes de estar em um estado de sono como eu pensei que estava acontecendo.

    
por 16.10.2014 / 04:27