Fórum É possível limitar uso da CPU pelo aplicativo? #328043
24/08/2006
0
Anderh
Curtir tópico
+ 0Posts
28/08/2006
Anderh
Gostei + 0
28/08/2006
Anderh
Gostei + 0
06/09/2006
Anderh
Gostei + 0
06/09/2006
Michael
Esta informação que vc viu no [b:a82cd35fba]Task Manager[/b:a82cd35fba] é a quantidade de memória sendo usada pelo processo, e não o percentual de uso da CPU. Esse dado é da coluna [b:a82cd35fba]CPU [/b:a82cd35fba]na janela.
Para limitar o uso de memória da sua aplicação, vc deve liberar todos os objetos que não são necessários, e evitar de alocar muita memória ao mesmo tempo. Se a memória só está crescendo, então é sinal da existência de [b:a82cd35fba]memory leaks[/b:a82cd35fba] no aplicativo.
Se seu programa está utilizando muito tempo da CPU, então algum procedimento está sendo executado várias vezes - provavelmente dentro de um loop - sem aguardar um intervalo de tempo entre cada iteração.
Para limitar o uso da CPU, vc pode quebrar seu código em [b:a82cd35fba]threads [/b:a82cd35fba]- tomando todos os cuidados inerentes ao assunto -, dar prioridade baixa para elas e colocar uma chamada a [b:a82cd35fba]Sleep(100)[/b:a82cd35fba] dentro do método [b:a82cd35fba]Execute[/b:a82cd35fba]. Não precisa ser necessariamente 100, mas um valor pequeno (em milisegundos).
[]´s
Gostei + 0
11/09/2006
Anderh
Gostei + 0
28/08/2015
Rafael Leite
var
MainHandle : THandle;
begin
try
MainHandle := OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessID) ;
SetProcessWorkingSetSize(MainHandle, $FFFFFFFF, $FFFFFFFF) ;
CloseHandle(MainHandle);
except
end;
Também utilizado para eliminar lixos de memória.
abc
rafa
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)