Home
» UFFICIO MS
»
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
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.
Passaggio 1: eseguire i comandi free -h e swapon --show sull'host VPS per visualizzare la RAM disponibile e verificare se lo swap è attivo.Passaggio 1: il comando docker stats --no-stream confronta l'utilizzo corrente della memoria del container ONLYOFFICE con il suo limite.
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.
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.
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:
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.
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.
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 osservi
La 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 Docker
Esamina 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 contemporaneamente
Utilizza il metodo di dimensionamento del cluster/Kubernetes fornito dal fornitore anziché un singolo VPS di piccole dimensioni.