- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- maximum number of components per window exceeded
Perguntas maximum number of components per window exceeded
- alexcarvalhodasilva
- Autor do Tópico
- Desconectado
- Membro Júnior
- Postagens: 22
- Obrigados Recebidos: 0
Existe alguma forma de monitorar tudo o que está aberto na thread?
Luiz V Alves escreveu: Usa depois do End.
Mas o erro continua ocorrendo ?
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
- Postagens: 3676
- Obrigados Recebidos: 6
O Correto é, se vc entrar numa tela a memória vai aumentar normalmente porém ao sair ela deve diminuir também.
Abraços.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- alexcarvalhodasilva
- Autor do Tópico
- Desconectado
- Membro Júnior
- Postagens: 22
- Obrigados Recebidos: 0
Luiz V Alves escreveu: Cara eu descobri este problema observando no task manager que o serviço do protheus só aumentava a quantidade de utilização de memória, não diminuia, verifique o seguinte, cria um serviço aonde só vc irá acessar, e verifique a quantidade de memória utilizada pelo appserver.exe e inicie a sua tela customizada, entra e sai dela várias vezes e veja se a memória vai aumentando.
O Correto é, se vc entrar numa tela a memória vai aumentar normalmente porém ao sair ela deve diminuir também.
Abraços.
Por favor Acessar ou Registrar para participar da conversa.
- alexcarvalhodasilva
- Autor do Tópico
- Desconectado
- Membro Júnior
- Postagens: 22
- Obrigados Recebidos: 0
Ativei o DebugThreadUsedMemory=0 no appserver.ini e consegui monitorar a memória da Thread no monitor, agora consegui perceber claramente que ao sair da minha rotina, a quantidade de memória está baixando. Mas também pude perceber que a quantidade de memória usada sempre vai subindo, inclusive nas rotinas padrões, ex:
A quantidade de memória usada estava 100000, depois de abrir o cadastro de produtos vai para 104000, ao fechar volta para 101000. Mas percebeu que não ficou na mesma condição que estava antes?
Acho que eu consegui entender o problema e na minha opinião o problema está no Protheus e não na minha customização. Quando eu estava fazendo testes, eu fazia logoff e logava com outro usuário para fazer aprovações em outros níveis e fazia isso várias vezes. Eu percebi que quando eu faço isso, a Thread não é reiniciada, pois não estou finalizando a conexão, mas sim fazendo logoff, e fica com um consumo de memória alto, da conexão anterior, até que o problema acontece.
Acredito que isso não irá acontecer em produção, pois os usuários não ficam trocando de login, quando eles terminam o trabalho, eles finalizam a conexão.
Não sei se consegui me explicar.
Luiz V Alves escreveu: Cara eu descobri este problema observando no task manager que o serviço do protheus só aumentava a quantidade de utilização de memória, não diminuia, verifique o seguinte, cria um serviço aonde só vc irá acessar, e verifique a quantidade de memória utilizada pelo appserver.exe e inicie a sua tela customizada, entra e sai dela várias vezes e veja se a memória vai aumentando.
O Correto é, se vc entrar numa tela a memória vai aumentar normalmente porém ao sair ela deve diminuir também.
Abraços.
Por favor Acessar ou Registrar para participar da conversa.
- alexcarvalhodasilva
- Autor do Tópico
- Desconectado
- Membro Júnior
- Postagens: 22
- Obrigados Recebidos: 0
Seguinte, para reproduzir o erro basta logar no protheus e ficar trocando de usuário utilizando a opção logoff ao invés de Finalizar, depois de trocar de usuário umas 20 vezes o problema irá acontecer.
Ou seja, o Protheus não está gerenciando bem a troca de usuários, ele está acumulando lixo na memória até que o problema acontece, não tem nada haver com a minha customização, na verdade eu nem preciso acessar ela para que o erro aconteça.
A sua dica de analisar o consumo de memória foi fundamental para eu identificar o problema, muito obrigado.
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
- Postagens: 297
- Obrigados Recebidos: 21
Mas blz, qualquer coisa volta ai pra ajudar a gente tbém.
Abraços.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- maximum number of components per window exceeded