Meu sistema em clipper esta consumindo muito CPU no serv2003

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

romulobonnadio
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 08 Dez 2009 23:48
Localização: Belo Horizonte

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por romulobonnadio »

Boa tarde amigos.
Meu sistema em clipper esta consumindo muito CPU no serv2003, e como utilizo acesso TS com5 usuarios no Windows Server2003 nao posso trocar o sistema operacional por outro, o que posso fazer para que o sistema nao sobrecarregue o CPU qdo for executado?
Eh so abrir meu sistema que o CPU vai la para cima :/
Obg amigos!
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por Kapiaba »

Quantos GB tem o pente de memória do micro com Windows Server(TS)? abs.
romulobonnadio
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 08 Dez 2009 23:48
Localização: Belo Horizonte

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por romulobonnadio »

Esta usando 4GB mas o server2003 32bits nao chega a reconhecer isso tudo!
Mesmo assim eu me lembro de antigamente usar um programa para auxiliar o gerenciamento de memoria do windows XP que chamava TAME, mas nao tenho mais essa instalacao com o crack!
Acho que ele ajudaria!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por JoséQuintas »

Não tem nada a ver com memória.

Mesmo com o programa aparentemente parado vai pra 100%.
Isso é porque o Clipper fica testando teclado/mouse o tempo todo.

Tem acesso aos fontes?
Teria que recompilar usando, por exemplo, OSLIB.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
romulobonnadio
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 08 Dez 2009 23:48
Localização: Belo Horizonte

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por romulobonnadio »

Oi sr Jose Quintas.
Tenho acesso aos fontes sim.
Poderia me auxiliar no que deve ser feito para melhorar este uso do CPU?
Obrigado
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por JoséQuintas »

O que sempre usei no Clipper foi a OSLIB.
Só acrescentar no programa principal a linha

Código: Selecionar todos

OL_AutoYield(.T.)
E acrescentar essa LIB na linquedição.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
romulobonnadio
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 08 Dez 2009 23:48
Localização: Belo Horizonte

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por romulobonnadio »

Obg Sr Jose Quintas pela dica, fui verificar e ja contem essa chamada nos fontes :/
Queria saber se teria algo mais a fazer para melhorar ainda mais a performance.
De qq forma muito obrigado pela atencao.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por JoséQuintas »

Para liberar ao máximo com OSLIB, teria que substituir todos os Inkey() por MyInkey()

Código: Selecionar todos

FUNCTION MyInkey( nTempo )
   nKey := 0
   DO WHILE nKey == 0
      nKey := Inkey()
      OL_Yeld()
   ENDDO
   RETURN nKey
Esse é só um exemplo, que só atende Inkey(0), teria que ajustar pra o caso de usar por exemplo Inkey(60), ou até inkey() em alguns casos.

O que isso altera?
Enquanto está esperando por uma tecla, libera a CPU ao máximo, chegando a 0% de consumo no Windows.

Tem as partes normalmente não disponíveis no fonte, como READ, MENU TO, MemoEdit().
Essas rotinas também usam Inkey(), e teriam que ser modificadas.

E se usa biblioteca pra mouse, é outra a ser modificada.

Talvez seja interessante tentar compilar com o Harbour, de repente pode ser menos trabalhoso.

Nota:
No Windows também dá pra definir uma prioridade para o programa.
Talvez reduzir a prioridade do aplicativo em Clipper ajude um pouco, sem fazer nenhuma outra alteração.

Nota2:
OL_AutoYield(.T.) é pra fazer automático
OL_Yield() libera a cada chamada dessa função, como a rotina acima vai ficar sempre chamando por ela, vai liberar ao máximo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
romulobonnadio
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 08 Dez 2009 23:48
Localização: Belo Horizonte

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por romulobonnadio »

Obg Sr Jose Quintas, essas dicas eu ja tinha realizado um bom tempo atras, mas acredito que seja o windows do cliente ele usa um server2003 32bits, o engracado eh que outros clientes tb usam e funciona bem rapidinho, mas nesse cliente nao sei o que poderia ser.
Sobre o Harbor eu ate tentei compilar nele mas nao consigo,talvez por nao ter conhecimento necessario dele, atualmente estou usando o blinker.
De qq forma obg pelas dicas :D
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por Abel »

Problemas com Inkey()=0 lento no harbour,

troque inkey()=0 por inkey(0.01)=0

Att
ABEL
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

Meu sistema em clipper esta consumindo muito CPU no serv2003

Mensagem por MSDN »

Romulo,

Se você já tentou usar o Harbour e não teve sucesso, talvez o exemplo que está nessa postagem do fórum lhe ajude :

viewtopic.php?f=1&t=18275

Abraços
Responder