Risolvere il problema di memoria insufficiente del server documenti ONLYOFFICE su un VPS

Iniziate verificando se l'host Linux o il container ONLYOFFICE stanno raggiungendo il limite di memoria. Le attuali linee guida della Community Edition di ONLYOFFICE Docs indicano 4 GB di RAM e almeno 4 GB di swap come requisiti di base. La pagina di risoluzione dei problemi di Docker afferma che un utilizzo di 2-4 GB di RAM può essere normale per alcune decine di utenti attivi, poiché l'utilizzo della memoria aumenta con i documenti aperti e gli utenti simultanei. La tabella hardware raccomanda Kubernetes per implementazioni con oltre 400 utenti attivi simultanei. Questi sono valori di riferimento, non una garanzia che ogni VPS gestirà lo stesso carico: anche il sistema operativo host, gli altri container, le dimensioni dei documenti e i limiti del provider VPS sono importanti.

Questa guida si concentra sull'installazione Docker standard su un VPS Linux. Segui i quattro passaggi in ordine: misura la pressione sull'host e sui container, controlla i log e la cache dei file dimenticati, riduci il carico evitabile o correggi un limite di container troppo basso, quindi riavvia solo se necessario e verifica in condizioni di utilizzo normale. Gli esempi di comando utilizzano <CONTAINER_ID>come segnaposto; sostituiscilo con l'ID o il nome da docker ps. Esegui un backup e pianifica la manutenzione prima di arrestare un editor con utenti attivi.

1. Confermare dove si verifica la pressione sulla memoria

Eseguire i primi comandi sull'host VPS, non all'interno del container ONLYOFFICE:

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

free -hMostra la memoria host e lo swap disponibili. swapon --showConferma se lo swap è attivo. In docker stats, confronta l'utilizzo della memoria di ONLYOFFICE con il suo limite visualizzato. Se l'host ha poca memoria disponibile e diversi servizi stanno utilizzando la RAM, il VPS potrebbe essere sottodimensionato. Se l'host ha ancora margine ma il container ONLYOFFICE è vicino a un limite molto inferiore, il limite del container potrebbe essere la causa immediata. Uno swap quasi pieno, uno swapping continuo o un'intensa attività del disco possono rendere la modifica lenta anche prima che l'host termini un processo.

Una finestra del terminale Linux che mostra i comandi free -h e swapon --show
Passaggio 1: eseguire i comandi free -h e swapon --show sull'host VPS per visualizzare la RAM disponibile e verificare se lo swap è attivo.
Una finestra del terminale Linux che mostra le statistiche di Docker --no-stream
Passaggio 1: il comando docker stats --no-stream confronta l'utilizzo corrente della memoria del container ONLYOFFICE con il suo limite.

Verifica anche i limiti Docker configurati:

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

Il primo comando visualizza le impostazioni di memoria e memoria più swap in byte. Un limite di memoria pari a zero generalmente significa che non è configurato alcun limite di memoria esplicito per il container; non significa che il VPS abbia RAM illimitata. L'impostazione di memoria e swap di Docker è un limite combinato di memoria e swap, quindi non va interpretata come solo swap. Il secondo comando riporta se Docker ha registrato un'interruzione per OOM (Out Of Memory) per il container e il suo ultimo codice di uscita. Docker documenta questi limiti come controlli imposti dall'host Linux e la pressione OOM a livello di host può interessare più di un container.

2. Controllare i log del container e il caso di utilizzo elevato noto di ONLYOFFICE

Prima di modificare le impostazioni o eliminare i file, leggi i registri recenti:

docker logs --since 1h <CONTAINER_ID>

Verifica la presenza di riavvii ripetuti, errori di avvio del database e messaggi in prossimità del momento in cui un editor è diventato non disponibile. Se disponi delle autorizzazioni necessarie, controlla anche il log del kernel dell'host per individuare eventi di memoria insufficiente.

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

La pagina di risoluzione dei problemi di Docker di ONLYOFFICE suggerisce specificamente di verificare la presenza di documenti bloccati o dimenticati /var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten/quando l'utilizzo della memoria sembra insolitamente elevato. Innanzitutto, ispeziona le dimensioni e il contenuto della directory; non eliminare i file indiscriminatamente. Potrebbero essere rilevanti per il ripristino o la risoluzione dei problemi. Se la directory è di grandi dimensioni o continua a crescere, conserva i file e i log, quindi segui le istruzioni ufficiali per la risoluzione dei problemi o chiedi al supporto di ONLYOFFICE cosa è possibile eliminare in sicurezza per la tua versione.

Una finestra del terminale Linux che mostra il comando docker logs con un segnaposto per l'ID del container.
Passaggio 2: prima di cambiare VPS o eliminare i file memorizzati nella cache, esamina i log recenti del container.

3. Ridurre la domanda evitabile e correggere un limite Docker troppo basso

Secondo le linee guida di ONLYOFFICE per il dimensionamento, un "utente attivo" è chiunque abbia un documento aperto nell'editor, incluso chi lo sta solo visualizzando. Gli utenti che hanno semplicemente effettuato l'accesso a una piattaforma integrata senza un documento aperto non vengono conteggiati allo stesso modo. Si consiglia agli utenti di chiudere le schede dei documenti non utilizzate ed evitare di programmare picchi di modifica intensivi su un VPS di piccole dimensioni. Se il carico di lavoro deriva dall'apertura simultanea di diversi fogli di calcolo di grandi dimensioni o file complessi, è opportuno confrontare la memoria utilizzata in condizioni di bassa attività e al picco effettivo, anziché basarsi esclusivamente sul numero di account.

Se il VPS ha lo swap disabilitato, l'aggiunta di swap può fornire un buffer a breve termine contro un picco improvviso. La guida all'installazione di Docker di ONLYOFFICE elenca almeno 4 GB di swap e precisa che la quantità dipende dal sistema operativo host. Lo swap è basato su disco ed è molto più lento della RAM, quindi non sostituisce una quantità adeguata di memoria fisica. Prima di creare un file di swap, verificare che non ne esista già uno, controllare lo spazio libero su disco e confermare che il filesystem e il provider VPS supportino questo metodo. Su un tipico filesystem Linux che supporta un file di swap, ecco un esempio:

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

Non eseguire questi comandi su un file di swap esistente /swapfile. Per mantenere un file di swap appena creato dopo il riavvio, aggiungi una voce corrispondente /etc/fstabsolo dopo aver verificato la presenza di una voce esistente:

/swapfile none swap sw 0 0

Se Docker mostra un limite di memoria del container basso, controlla il file Compose o il pannello di distribuzione che ha creato il container. Aumenta o rimuovi il limite solo dopo aver verificato la RAM totale del VPS e la memoria utilizzata dal sistema operativo, dal database, dalla piattaforma di integrazione e da altri servizi. Non allocare tutta la RAM dell'host a ONLYOFFICE. Se l'host stesso è esaurito, la modifica di un limite Docker non creerà più memoria fisica; ridimensiona il VPS o sposta gli altri servizi su un altro host. Compose supporta i limiti di memoria, ma il limite configurato deve corrispondere alla modalità di distribuzione effettiva e alla memoria disponibile dell'host.

Un VPS da 2 GB che esegue ONLYOFFICE insieme a Nextcloud o altri servizi è al di sotto del requisito minimo di RAM di 4 GB dichiarato dal fornitore. Un VPS da 4 GB può anche avere problemi di memoria quando il sistema operativo host e lo stack di integrazione la condividono. In questi casi, un VPS più grande o un host dedicato al Document Server sono più affidabili rispetto al riavvio ripetuto del container. Per oltre 400 utenti attivi simultanei, la tabella di ONLYOFFICE attuale raccomanda un'implementazione Kubernetes e di contattare ONLYOFFICE per consigli sul dimensionamento; non si tratta di un carico di lavoro che può essere risolto aggiungendo un piccolo file di swap a un VPS.

Una finestra del terminale Linux che mostra il comando prepare-for-shutdown documentato di ONLYOFFICE.
Passaggio 4: prima di riavviare il container in modo pianificato, eseguire lo script di preparazione documentato di ONLYOFFICE in modo che le sessioni di modifica attive possano essere disconnesse correttamente.

4. Riavvia in sicurezza, quindi verifica il risultato

Non riavviare Document Server mentre gli utenti stanno modificando i documenti, a meno che l'interruzione non sia inevitabile. ONLYOFFICE spiega che un documento viene salvato solo dopo che tutti gli utenti che lo stanno modificando lo hanno chiuso. Prima di un arresto pianificato del container, la guida alla risoluzione dei problemi consiglia di eseguire lo script di preparazione mostrato di seguito; l'operazione può richiedere fino a cinque minuti, durante i quali gli utenti si disconnettono. Avvisare prima gli utenti, conservare i backup e seguire la normale procedura di manutenzione.

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

Se utilizzi Docker Compose, apporta la modifica permanente nella configurazione di Compose o nel pannello di controllo e utilizza il normale flusso di lavoro di riavvio del progetto. Una modifica una tantum a un container in esecuzione potrebbe scomparire quando viene ricreato. Non utilizzare --oom-kill-disableuna priorità OOM estrema per mantenere ONLYOFFICE attivo; Docker avverte che l'esaurimento della memoria dell'host può mettere a rischio il VPS e altri servizi.

Dopo il riavvio del VPS o del container, verificare che il container rimanga integro, che l'editor apra e salvi un documento di prova, che la memoria dell'host rimanga disponibile e che il container non si riavvii ripetutamente. Monitorare la memoria sia dell'host che del container durante un periodo di utilizzo intenso. Se la memoria aumenta continuamente dopo la chiusura dei documenti, se la directory dei file dimenticati si espande o se si verificano eventi di esaurimento della memoria (OOM), raccogliere l'output di free -h, swapon --show, docker stats, docker inspect, e i log recenti per ottenere supporto. Non considerare un riavvio riuscito come prova che la capacità sia fissa.

Guida rapida alle decisioni

Ciò che osserviLa mossa successiva più utile
La RAM dell'host è esaurita e anche altri servizi ne risentono.Aggiorna il VPS o sposta i servizi non di editing. Un'impostazione del container non può aggiungere RAM all'host.
L'host ha spazio disponibile, ma ONLYOFFICE raggiunge il limite minimo di DockerEsamina il limite di Compose o del provider e aumentalo solo entro i limiti di sicurezza dell'host.
L'utilizzo aumenta con i documenti aperti e poi diminuisce quando questi vengono chiusi.Confrontare con la concorrenza prevista e i tipi di documenti; valutare la necessità di più RAM se i picchi normali causano errori di memoria insufficiente (OOM).
L'utilizzo rimane insolitamente elevato anche dopo un calo dell'attività.Esamina i log recenti e la cache dei file dimenticati documentata; conserva i dati ed effettua un'indagine prima di procedere alla pulizia.
Oltre 400 utenti hanno documenti aperti contemporaneamenteUtilizza il metodo di dimensionamento del cluster/Kubernetes fornito dal fornitore anziché un singolo VPS di piccole dimensioni.

Riferimenti ufficiali

Lascia un commento

Come ridurre le dimensioni dei file delle presentazioni di LibreOffice ricche di immagini

Come ridurre le dimensioni dei file delle presentazioni di LibreOffice ricche di immagini

Riduci le dimensioni di una presentazione LibreOffice Impress di grandi dimensioni comprimendo le foto sovradimensionate, scegliendo una risoluzione e una qualità JPEG adeguate e verificando il file salvato senza compromettere la leggibilità delle diapositive.

Come installare Collabora Online CODE con Docker e Nextcloud

Come installare Collabora Online CODE con Docker e Nextcloud

Installa Collabora Online CODE in Docker, pubblicalo in modo sicuro tramite un proxy inverso, connettilo a Nextcloud Office e verifica la modifica dei documenti tramite browser.

Risolvere il problema di memoria insufficiente del server documenti ONLYOFFICE su un VPS

Risolvere il problema di memoria insufficiente del server documenti ONLYOFFICE su un VPS

Diagnostica gli errori di memoria di ONLYOFFICE Docs su un VPS, verifica i limiti dell'host e di Docker, esamina i log e i documenti dimenticati, aggiungi lo swap in modo sicuro e riavvia senza rischiare di perdere le modifiche attive.

Risolvi il problema di copia e incolla tra app locali in Collabora Online.

Risolvi il problema di copia e incolla tra app locali in Collabora Online.

Risolvere i problemi di copia e incolla di Collabora Online con le app locali testando le scorciatoie da tastiera, le autorizzazioni degli appunti del browser, HTTPS, le policy iframe e i formati dei contenuti.

Come eliminare i caratteri sfocati in ONLYOFFICE Desktop su Linux: una guida pratica

Come eliminare i caratteri sfocati in ONLYOFFICE Desktop su Linux: una guida pratica

Risolvi il problema del testo sfocato negli editor desktop di ONLYOFFICE su Linux verificando, in un ordine sicuro, la scalatura dello schermo, la scalatura dell'interfaccia dell'applicazione, la disponibilità dei caratteri e l'ambito di rendering.

Come creare moduli PDF interattivi compilabili in LibreOffice Writer

Come creare moduli PDF interattivi compilabili in LibreOffice Writer

Scopri come aggiungere controlli ai moduli di Writer, impostare etichette e ordine di tabulazione, esportare con il modulo Crea PDF abilitato e testare il tuo PDF interattivo prima di condividerlo.

Come limitare la stampa e il download in ONLYOFFICE

Come limitare la stampa e il download in ONLYOFFICE

Scopri come bloccare la stampa e il download nelle integrazioni di ONLYOFFICE Workspace, DocSpace o Docs e verifica quali controlli si applicano a ciascun metodo di condivisione.

Come risolvere l'errore 502 Bad Gateway del server documenti ONLYOFFICE dietro Nginx

Come risolvere l'errore 502 Bad Gateway del server documenti ONLYOFFICE dietro Nginx

Risolvere gli errori 502 del server documenti ONLYOFFICE dietro Nginx. Verificare lo stato del servizio, i log, le porte upstream, le intestazioni inoltrate, i WebSocket e la rete Docker.

Risolvere i problemi di timeout di connessione dell'app mobile ONLYOFFICE a un server self-hosted

Risolvere i problemi di timeout di connessione dell'app mobile ONLYOFFICE a un server self-hosted

Risolvere i problemi di timeout dei documenti ONLYOFFICE su un server self-hosted verificando l'URL del portale o WebDAV corretto, l'accesso alla rete, HTTPS, le credenziali e il routing del server.

Come modificare il modello di documento predefinito in LibreOffice Writer

Come modificare il modello di documento predefinito in LibreOffice Writer

Imposta un modello personalizzato di LibreOffice Writer come predefinito, aggiornalo o reimpostalo e verifica che i nuovi documenti utilizzino gli stili e il layout di pagina che preferisci.