Corrigir problema de falta de memória no servidor de documentos ONLYOFFICE em um VPS

Comece verificando se o host Linux ou o contêiner do ONLYOFFICE está atingindo o limite de memória. As diretrizes atuais da ONLYOFFICE Docs Community Edition listam 4 GB de RAM e pelo menos 4 GB de swap como requisitos básicos. A página de solução de problemas do Docker afirma que o uso de 2 a 4 GB de RAM pode ser normal para algumas dezenas de usuários ativos, pois o uso de memória aumenta com documentos abertos e usuários simultâneos. A tabela de hardware recomenda o Kubernetes para implantações com mais de 400 usuários ativos simultâneos. Esses são valores de referência, não uma garantia de que todos os VPS suportarão a mesma carga: o sistema operacional do host, outros contêineres, o tamanho dos documentos e os limites do provedor de VPS também são importantes.

Este guia se concentra na instalação comum do Docker em um VPS Linux. Siga os quatro passos na ordem: meça a carga do host e dos contêineres, verifique os logs e o cache de arquivos esquecidos, reduza a carga desnecessária ou corrija um limite de contêineres muito baixo e, em seguida, reinicie somente se necessário e verifique em condições normais de uso. Os exemplos de comando usam ` <CONTAINER_ID><nome_do_arquivo>` como um marcador; substitua-o pelo ID ou nome do arquivo docker ps. Faça um backup e agende uma manutenção antes de interromper um editor com usuários ativos.

1. Confirme onde está ocorrendo a pressão na memória.

Execute os primeiros comandos no host VPS, não dentro do contêiner ONLYOFFICE:

free -h
swapon --show
docker stats --no-stream

free -hMostra a memória disponível do host e o espaço de swap. swapon --showConfirma se o swap está ativo. Em docker stats, compare o uso de memória do ONLYOFFICE com o limite exibido. Se o host tiver quase nenhuma memória disponível e vários serviços estiverem usando RAM, o VPS pode estar subdimensionado. Se o host ainda tiver espaço livre, mas o contêiner do ONLYOFFICE estiver próximo de um limite muito menor, o limite do contêiner pode ser a causa imediata. Swap quase cheio, trocas de memória constantes ou alta atividade de disco podem tornar a edição lenta mesmo antes que o host encerre um processo.

Uma janela de terminal Linux mostrando os comandos `free -h` e `swapon --show`.
Passo 1: execute os comandos `free -h` e `swapon --show` no host VPS para verificar a RAM disponível e se o swap está ativo.
Uma janela de terminal Linux exibindo docker stats --no-stream
Passo 1: o comando `docker stats --no-stream` compara o uso atual de memória do contêiner ONLYOFFICE com seu limite.

Verifique também os limites do Docker configurados:

docker inspect --format '{{.HostConfig.Memory}} {{.HostConfig.MemorySwap}}' <CONTAINER_ID>
docker inspect --format '{{.State.OOMKilled}} {{.State.ExitCode}}' <CONTAINER_ID>

O primeiro comando imprime as configurações de memória e memória mais swap em bytes. Um limite de memória zero geralmente significa que nenhum limite de memória explícito para o contêiner está configurado; isso não significa que o VPS tenha RAM ilimitada. A configuração de memória e swap do Docker é um limite combinado de memória e swap, portanto, não a interprete como swap apenas. O segundo comando informa se o Docker registrou um encerramento por falta de memória (OOM kill) para o contêiner e seu último código de saída. O Docker documenta esses limites como controles impostos pelo host Linux, e a pressão de OOM em todo o host pode afetar mais de um contêiner.

2. Verifique os logs do contêiner e os casos de uso intenso conhecidos do ONLYOFFICE.

Leia os registros recentes antes de alterar configurações ou excluir arquivos:

docker logs --since 1h <CONTAINER_ID>

Procure por reinicializações repetidas, erros de inicialização do banco de dados e mensagens próximas ao momento em que um editor ficou indisponível. Verifique também o log do kernel do host em busca de eventos de falta de memória, caso tenha permissão.

sudo dmesg -T | grep -Ei 'out of memory|killed process|oom' | tail -n 30

A página de solução de problemas do Docker da ONLYOFFICE sugere especificamente verificar se há documentos presos ou esquecidos /var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten/quando o uso de memória parecer inesperadamente alto. Primeiro, inspecione o tamanho e o conteúdo do diretório; não remova arquivos indiscriminadamente. Eles podem ser relevantes para a recuperação ou solução de problemas. Se o diretório for grande ou continuar crescendo, preserve os arquivos e os registros e, em seguida, siga as orientações oficiais de solução de problemas ou pergunte ao suporte da ONLYOFFICE o que é seguro limpar para a sua versão.

Uma janela de terminal Linux exibindo o comando `docker logs` com um espaço reservado para o ID do contêiner.
Passo 2: inspecione os registros recentes do contêiner antes de alterar o VPS ou excluir arquivos em cache.

3. Reduzir a demanda desnecessária e corrigir um limite de recursos do Docker muito baixo.

De acordo com as diretrizes de dimensionamento do ONLYOFFICE, um "usuário ativo" é aquele que tem um documento aberto no editor, incluindo quem está apenas visualizando. Usuários que simplesmente fizeram login em uma plataforma integrada, sem nenhum documento aberto, não são contabilizados da mesma forma. Peça aos usuários que fechem as abas de documentos não utilizadas e evite agendar uma grande quantidade de edições em um VPS pequeno. Se a carga for resultado da abertura simultânea de várias planilhas grandes ou arquivos complexos, compare o uso de memória em períodos de baixa atividade com o pico real, em vez de estimar apenas com base no número de contas.

Se o VPS tiver a área de swap desativada, adicionar swap pode fornecer uma proteção temporária contra picos repentinos de uso. O guia de instalação do Docker da ONLYOFFICE recomenda pelo menos 4 GB de swap e observa que essa quantidade depende do sistema operacional do host. O swap é armazenado em disco e é muito mais lento que a RAM, portanto, não substitui a memória física adequada. Antes de criar um arquivo de swap, verifique se ele já existe, verifique o espaço livre em disco e confirme se o seu sistema de arquivos e provedor de VPS suportam esse método. Em um sistema de arquivos Linux típico que suporta arquivo de swap, um exemplo seria:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon --show

Não execute esses comandos sobre um arquivo de swap existente /swapfile. Para manter um arquivo de swap recém-criado após a reinicialização, adicione /etc/fstabapenas uma entrada correspondente após verificar se já existe uma entrada correspondente:

/swapfile none swap sw 0 0

Se o Docker mostrar um limite de memória baixo para o contêiner, inspecione o arquivo Compose ou o painel de implantação que criou o contêiner. Aumente ou remova o limite somente após verificar a RAM total do VPS e a memória usada pelo sistema operacional, banco de dados, plataforma de integração e outros serviços. Não aloque toda a RAM do host para o ONLYOFFICE. Se o próprio host estiver com a memória esgotada, alterar um limite do Docker não criará mais memória física; redimensione o VPS ou mova outros serviços para outro host. O Compose suporta limites de memória, mas o limite configurado deve corresponder ao modo de implantação real e à memória disponível do host.

Um VPS de 2 GB executando o ONLYOFFICE juntamente com o Nextcloud ou outros serviços fica abaixo da configuração mínima de 4 GB de RAM recomendada pelo fornecedor. Um VPS de 4 GB também pode apresentar falta de memória quando o sistema operacional host e a pilha de integração a compartilham. Nesses casos, um VPS maior ou um servidor de documentos dedicado é mais confiável do que reiniciar o contêiner repetidamente. Para mais de 400 usuários ativos simultâneos, a tabela atual do ONLYOFFICE recomenda uma implantação do Kubernetes e entrar em contato com o ONLYOFFICE para obter orientações sobre dimensionamento; essa não é uma carga de trabalho que pode ser resolvida adicionando um pequeno arquivo de swap a um VPS.

Uma janela de terminal Linux mostrando o comando documentado de preparação para desligamento do ONLYOFFICE.
Passo 4: antes de reiniciar o contêiner, execute o script de preparação documentado do ONLYOFFICE para que as sessões de edição ativas possam ser desconectadas corretamente.

4. Reinicie com segurança e verifique o resultado.

Não reinicie o Servidor de Documentos enquanto houver usuários editando, a menos que a interrupção seja inevitável. A ONLYOFFICE explica que um documento é salvo somente após todos os usuários que o estão editando o fecharem. Antes de uma parada programada do contêiner, o guia de solução de problemas recomenda o script de preparação mostrado abaixo; ele pode levar até cinco minutos enquanto os usuários se desconectam. Avise os usuários primeiro, preserve os backups e siga seu procedimento normal de manutenção.

sudo docker exec <CONTAINER_ID> documentserver-prepare4shutdown.sh
sudo docker restart <CONTAINER_ID>

Se você usa o Docker Compose, faça a alteração permanente na configuração do Compose ou no painel de controle e use o fluxo de trabalho normal de reinicialização do projeto. Uma alteração pontual em um contêiner em execução pode desaparecer quando ele for recriado. Não use --oom-kill-disableuma prioridade OOM extrema para manter o ONLYOFFICE ativo; o Docker alerta que o esgotamento da memória do host pode colocar o VPS e outros serviços em risco.

Após o VPS ou contêiner retornar, confirme se o contêiner permanece íntegro, se o editor abre e salva um documento de teste, se a memória do host permanece disponível e se o contêiner não está reiniciando repetidamente. Observe o consumo de memória do host e do contêiner durante um período de uso intenso. Se o consumo de memória aumentar continuamente após o fechamento de documentos, se o diretório de arquivos esquecidos crescer ou se eventos de falta de memória (OOM) retornarem, colete a saída de free -h`ls -l`, `ls -l` swapon --show, docker stats`ls docker inspect-l` e os logs recentes para suporte. Não considere uma reinicialização bem-sucedida como prova de que a capacidade foi corrigida.

Guia rápido de decisão

O que você observaPróximo passo mais útil
A memória RAM do host está esgotada e outros serviços também estão sendo afetados.Atualize o VPS ou migre os serviços que não são de edição. Uma configuração de contêiner não pode adicionar RAM ao host.
O host tem espaço disponível, mas o ONLYOFFICE atingiu um limite baixo de Docker.Analise o limite do Compose ou do provedor e aumente-o apenas dentro de uma margem de segurança do host.
O uso aumenta com documentos abertos e diminui quando eles são fechados.Compare com a simultaneidade esperada e os tipos de documentos; considere adicionar mais RAM se os picos normais causarem falta de memória (OOM).
O uso permanece excepcionalmente alto mesmo após a queda na atividade.Inspecione os registros recentes e o cache de arquivos esquecidos documentado; preserve os dados e investigue antes da limpeza.
Mais de 400 usuários têm documentos abertos simultaneamente.Utilize o método de dimensionamento de cluster/Kubernetes do fornecedor em vez de um único VPS pequeno.

Referências oficiais

Deixar um comentário

O que é o Microsoft Access? Como funcionam suas ferramentas de banco de dados?

O que é o Microsoft Access? Como funcionam suas ferramentas de banco de dados?

O Microsoft Access é um aplicativo de banco de dados para Windows que permite armazenar registros relacionados, criar consultas, elaborar formulários de entrada de dados e gerar relatórios. Saiba como ele funciona e quando é adequado para você.

Alterar a altura e a largura das linhas de grade no Word 2010

Alterar a altura e a largura das linhas de grade no Word 2010

Aprenda como ajustar a altura e a largura das linhas de grade no Word 2010, alterar a frequência das linhas visíveis e definir o espaçamento horizontal e vertical da grade de desenho subjacente.

Importação e exportação do Office Outlook 2010: Mova dados com um arquivo PST

Importação e exportação do Office Outlook 2010: Mova dados com um arquivo PST

Aprenda como importar um arquivo PST para o Outlook 2010 ou exportar emails, contatos, calendário e tarefas. Siga os menus corretos e evite pastas ausentes ou duplicadas.

Recupere a senha de um arquivo PST do Outlook com o Nucleus Kernel

Recupere a senha de um arquivo PST do Outlook com o Nucleus Kernel

Recupere uma senha esquecida de um arquivo PST do Outlook seguindo os passos atuais do Kernel, incluindo como identificar o arquivo correto, fazer um backup e verificar as limitações da ferramenta.

Como inserir uma página da web em um slide do PowerPoint

Como inserir uma página da web em um slide do PowerPoint

Use o suplemento LiveWeb para inserir um site em um slide do PowerPoint, definir seu tamanho e comportamento de atualização e verificar a compatibilidade antes da apresentação.

Contatos do Outlook 2010: Adicionar pessoas e usar a agenda de endereços

Contatos do Outlook 2010: Adicionar pessoas e usar a agenda de endereços

Aprenda como criar e organizar contatos no Outlook 2010, criar um grupo de contatos e selecionar pessoas salvas na Agenda de Endereços ao endereçar um e-mail.

Como criar um campo de hiperlink no Access 2010

Como criar um campo de hiperlink no Access 2010

Crie um campo de Hiperlink no Access 2010 no Modo de Exibição de Design e, em seguida, adicione e teste links para sites, e-mails ou arquivos compartilhados com os detalhes de destino corretos.

Como remover metadados e conteúdo ocultos de um documento do Word

Como remover metadados e conteúdo ocultos de um documento do Word

Use o Inspetor de Documentos do Word para revisar detalhes do autor, comentários, alterações controladas, texto oculto e outros dados antes de compartilhar, e descubra o que a verificação pode não detectar.

Exportar e importar configurações da Faixa de Opções e da Barra de Ferramentas de Acesso Rápido no Office 2010

Exportar e importar configurações da Faixa de Opções e da Barra de Ferramentas de Acesso Rápido no Office 2010

Mova guias personalizadas da Faixa de Opções e comandos da Barra de Ferramentas de Acesso Rápido no Office 2010 com um arquivo .exportedUI e proteja as configurações já existentes no seu computador de destino.

Converter uma planilha do Excel em papel quadriculado imprimível

Converter uma planilha do Excel em papel quadriculado imprimível

Crie papel quadriculado imprimível no Excel ajustando as dimensões das células, definindo uma área de impressão, escolhendo papel A4 e ativando a impressão de linhas de grade no Excel para desktop.