Alocação de memória para serviços
À medida que sua empresa se expande e o número de dispositivos conectados cresce inevitavelmente, aumenta também a demanda por recursos para garantir o funcionamento adequado da plataforma Navixy. Embora a potência da CPU e o espaço em disco sejam alocados conforme necessário sem limitações, a quantidade máxima de RAM utilizável é rigorosamente regulada pelas configurações do sistema. Portanto, pode chegar um momento em que você constate que a memória alocada é insuficiente, sendo necessário ampliá‑la. Nesta seção, forneceremos orientações sobre como localizar os arquivos de configuração necessários e efetuar os ajustes necessários para otimizar o desempenho da plataforma.
Ao modificar as configurações que regem a inicialização dos serviços, é necessário extremo cuidado. Edite‑as com muita atenção para garantir operações sem problemas.
Lembre‑se! Alterações descuidadas nas configurações podem levar à inoperabilidade total do serviço. Antes de fazer qualquer alteração no arquivo de config, recomenda‑se criar uma cópia de backup. Como o config é simplesmente um arquivo de texto, você pode armazená‑lo com segurança em um diretório separado ou salvar seu conteúdo em outro local, garantindo sua integridade e prevenindo qualquer perda potencial.
Serviços Java
O backend da plataforma Navixy consiste em três serviços Java. As configurações padrão alocam as seguintes quantidades de RAM para eles:
API-server - 1024 Mb
SMS-server - 512 Mb
TCP-server - 1024 Mb
Essa quantidade de memória é suficiente para a operação estável da plataforma com até alguns milhares de dispositivos registrados. Contudo, se você estiver enfrentando instabilidade na plataforma, como consultas API lentas, geração de relatórios demorada ou problemas no processamento de dados dos rastreadores, aumentar a quantidade de memória alocada pode ser uma solução. A seguir veremos onde encontrar os configs que especificam esse valor, dependendo de como a plataforma está implantada.
É recomendado especificar a quantidade de memória alocada como um múltiplo de 1024. O valor é especificado separadamente para cada serviço.
Linux - serviços systemd
Para as versões atuais da plataforma (tanto as recentemente instaladas quanto as que receberam as últimas atualizações), systemd é usado como o gerenciador de inicialização de serviços. As configurações de inicialização estão localizadas nos diretórios dos serviços nos seguintes caminhos:
/home/java/api-server/api-server.service.env/home/java/sms-server/sms-server.service.env/home/java/tcp-server/tcp-server.service.env
Dentro de cada arquivo há uma linha como MAX_HEAP_SIZE="1024m". Especifique a quantidade de memória que deseja alocar para o serviço em megabytes. Não esqueça de preservar a letra m que significa megabytes.
Reinicie a plataforma ou o serviço específico para aplicar as alterações.
Linux - serviços runit
Se optar por não migrar para o systemd ao atualizar sua plataforma para a versão mais recente (essa opção é oferecida durante atualizações automáticas), ou no caso de utilização de uma versão antiga da plataforma Navixy On‑premise, os serviços Java usam runit como supervisor de serviços. Ele também possui seus próprios arquivos de configuração, que estão localizados nos seguintes caminhos:
/etc/sv/api-server/run/etc/sv/sms-server/run/etc/sv/tcp-server/run
Entre os parâmetros dentro de cada arquivo você encontrará um Xmx — este é o valor máximo de memória que pode ser alocado para o serviço Java correspondente. O parâmetro completo tem esta aparência: -Xmx1024m - isto significa que 1024 Mb de RAM são alocados para o serviço. Edite esse valor e especifique o que for necessário, depois salve o arquivo.
Reinicie a plataforma com o restart-navixy comando para aplicar as alterações.
Linux - instância dockerizada
Na versão dockerizada da plataforma, a alocação de memória é definida quando os containers são implantados — quando o docker compose up -d comando é executado. Esta é uma etapa obrigatória ao instalar e atualizar uma instância, mas pode ser feita independentemente desses processos.
Embora as configurações básicas da instância sejam especificadas no .env arquivo, um arquivo chamado compose.yaml é usado para configurar a operação dos containers — ele está localizado na mesma pasta de trabalho da instância que os demais arquivos do sistema.
Dentro desse arquivo, você pode ver as várias seções que definem as opções de inicialização para todos os containers. Para alterar a quantidade de memória alocada para api, sms e tcp containers, você precisa encontrar as seções correspondentes e adicionar a opção "MAX_HEAP_SIZE=" à subseção environment , por exemplo:
- "MAX_HEAP_SIZE=2048m"Abaixo está um exemplo de como isso é feito para api-server em uma instância existente:

Salve o arquivo.
Após as alterações serem aplicadas, execute o seguinte comando enquanto estiver no diretório de trabalho:
docker compose up -dIsto recriará os containers considerando as novas configurações.
Windows - serviços wrapper
Os serviços Java não são projetados para rodar nativamente no Windows, portanto software de terceiros é usado para habilitá‑los. Ele se chama YAJSW (Yet Another Java Service Wrapper) e é projetado para converter arquivos executáveis jar em serviços do Windows. Esse software está incluído no pacote de distribuição da plataforma Navixy e é configurado durante a instalação inicial.
O Wrapper não possui um diretório de instalação padrão e pode estar localizado em qualquer lugar, mas tipicamente é colocado em C:\java\wrapper pasta. Dentro você encontrará a pasta \conf que contém arquivos de configuração para os três serviços:
wrapper.api-server.confwrapper.sms-server.confwrapper.tcp-server.conf
Na parte inferior de cada um dos configs estão as configurações de inicialização do serviço, e elas incluem uma linha como:
wrapper.java.additional.3 = -Xmx1024mO valor do parâmetro -Xmx1024m significa que 1024 Mb de RAM são alocados para o serviço. Edite esse valor e especifique a quantidade de RAM necessária, preservando a m letra, depois salve o arquivo.
Reinicie o(s) serviço(s) para aplicar as alterações.
MySQL
O banco de dados é o serviço mais consumidor de recursos dentro da plataforma. Quando um grande número de dispositivos exerce pressão sobre memória limitada, o banco de dados pode ter dificuldade em processar todas as solicitações recebidas. Consequentemente, isso pode resultar na operação lenta e instável da plataforma Navixy. Recomendamos fortemente monitorar o desempenho do banco de dados e, se necessário, aumentar a capacidade de RAM do servidor.
A quantidade de RAM alocada ao banco de dados é um valor estático que é especificado na configuração do MySQL. Geralmente recomenda‑se manter esse valor em 70% do total de RAM do servidor. Portanto, se você aumentar a quantidade total de RAM para melhorar o desempenho do banco de dados, será necessário alterar o valor na configuração em seguida.
O arquivo de configuração do MySQL está localizado no seguinte caminho:
Linux:
/etc/mysql/mysql.conf.d/mysqld.cnfWindows:
C:\ProgramData\MySQL\MySQL Server 8\my.ini
Sob a seção [mysqld] dessa configuração, você encontrará o parâmetro innodb_buffer_pool_size — ele define a quantidade de memória alocada para o banco de dados. Se o tamanho atual for insuficiente, altere o parâmetro adequadamente (certifique‑se de manter a unidade de medida — G para gigabytes). Salve o arquivo e reinicie o MySQL.
Atualizado
Isto foi útil?