Driver OPC - Problema de aumento de memória RAM

Minha aplicação utiliza o driver OPC para comunicar com os dispositivos de campo. Minha arquitetura de rede está baseada na nuvem utilizando servidores da Amazon AWS, onde temos o ScadaBR 1.1 (cedido no treinamento em Brasília) em um servidor utilizando o sistema operacional Ubuntu 16 (Hardware: 4gb RAM, CPU dual core 3.0 GHz) comunicando com o servidor OPC utilizando o sistema operacional Windows Server 2008 R2 Datacenter (Hardware: 1gb RAM, CPU single core 3.3 GHz).

Após 3~4 dias de funcionamento do tomcat com a aplicação do ScadaBR rodando, a memória RAM da máquina com Ubuntu é totalmente utilizada, cerca de 3.2 GB de Ram da máquina são utilizadas pelo tomcat, quando chega neste nível de memória a aplicação trava e não consigo mais acessar a aplicação, tendo que reiniciar o tomcat para que a mesma volte a funcionar. Já conferi logs em busca de erros, aumentei a memória do computador (antes de 2GB de RAM) mas não tive sucesso. O único teste que foi efetivo foi quando desabilitei o datasource OPC da aplicação assim utiliza 200 MB de RAM sem aumento com o tempo. Alguém tem uma idéia do que pode estar ocorrendo?

Faça um teste simples, crie uma unidade de swap e instale o programa htop. Monitore pelo HTOP a utilização do sistema.

Voce pode usar o procedimento deste link:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/s2-swap-creating-file.html

nao precisa fazer o fstab já que você não vai rebootar a maquina. troque o valor 65536 do comando dd por 20480000 para gerar pelo menos 2Gb de swap. (veja antes com df -h o espaço restante de disco).

Como isso é temporário, depois de saber que não precisa do swap é só reiniciar o sistema, ele volta a ser como estava antes e ai vc apaga o arquivo de swap criado.

Eu aloquei uma unidade de swap e instalei o htop para monitorar. Por hora, minha aplicação está utilizando em torno de 700MB. Com o passar de 1 dia, vamos ver o que ocorre.

mesmo com as configurações realizadas, já é possível visualizar a memória crescendo com o tempo.


Tem mais algo que eu possa fazer?

Eita menino Malandro, ja plotou o uso da memoria.
Nao sou entendido de java para saber que isso cresce de uma maneira regular num mesmo ritmo. Pelo htop, precisava ver a queda de cada degrau para ver que processos estao rodando no momento da queda. Alguem (no java) não esta fazendo a limpeza da lixeira…

O número de tasks nem de threads aumento durante o período de testes. Como poderia ver estes processos no momento da queda?

@felipe.armond Boa noite tudo bem?!

Cara eu estou utilizando o Protocolo OPC do ScadaBR para implantar o meu TCC, e gostaria de tirar uma dúvida se você conseguir me ajudar!!

Gostaria de saber se é possível de alguma maneira tornar o ScadaBR um servidor OPC, ou se somente é possível que ele se comporte como Cliente OPC como já está meio implícito na forma de configuração do data source!

Se alguém souber, por favor comente pois tenho uma certa urgência quanto a essa resposta, dependendo da possibilidade, terei que mudar o rumo do meu TCC.

Grande abraço!

Pablo de Souza Jacon

Até onde eu tenho conhecimento, não é possível utilizar o ScadaBR como OPC Server, ele é somente um cliente OPC.

Ok, muito obrigado!!

E outra pergunta, você consegue alterar alguma tag pelo scadaBR ou somente visualiza elas?

Bom dia @PabloJacon,

Sim, você consegue alterar o valor no ScadaBR se a tag for configurada como “read/write”. Esta configuração é definida no Servidor OPC, não no ScadaBR.

Ok, talvez eu tenha feito algo errado na configuração! mas de qualquer forma muito obrigado pela ajuda!!

Abraços!