Résoudre le problème de mémoire insuffisante du serveur de documents ONLYOFFICE sur un VPS

Commencez par vérifier si le système hôte Linux ou le conteneur ONLYOFFICE atteint sa limite de mémoire. La documentation actuelle d'ONLYOFFICE Docs Community Edition recommande 4 Go de RAM et au moins 4 Go de swap comme configuration minimale. La page de dépannage Docker indique qu'une utilisation de 2 à 4 Go de RAM est normale pour quelques dizaines d'utilisateurs actifs, car la consommation de mémoire augmente avec le nombre de documents ouverts et d'utilisateurs simultanés. Le tableau des configurations matérielles recommande Kubernetes pour les déploiements dépassant 400 utilisateurs actifs simultanés. Ces valeurs sont données à titre indicatif et ne garantissent pas que chaque VPS supportera la même charge : le système d'exploitation hôte, les autres conteneurs, la taille des documents et les limites du fournisseur VPS ont également une incidence.

Ce guide décrit l'installation standard de Docker sur un VPS Linux. Suivez les quatre étapes suivantes : mesurez la charge de l'hôte et des conteneurs, consultez les journaux et le cache des fichiers oubliés, réduisez la charge inutile ou corrigez une limite de conteneurs trop faible, puis redémarrez uniquement si nécessaire et vérifiez le bon fonctionnement en utilisation normale. Les exemples de commandes utilisent <CONTAINER_ID>un espace réservé ; remplacez-le par l'identifiant ou le nom de votre environnement docker ps. Effectuez une sauvegarde et planifiez une maintenance avant d'arrêter un éditeur utilisé par des utilisateurs actifs.

1. Confirmez où se produit la pression sur la mémoire

Exécutez les premières commandes sur l'hôte VPS, et non à l'intérieur du conteneur ONLYOFFICE :

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

free -hAffiche la mémoire et le swap disponibles sur l'hôte. swapon --showConfirme si le swap est actif. docker statsComparez l'utilisation de la mémoire d'ONLYOFFICE avec sa limite affichée. Si l'hôte dispose de très peu de mémoire et que plusieurs services utilisent de la RAM, le VPS est peut-être sous-dimensionné. Si l'hôte a encore de la marge, mais que le conteneur ONLYOFFICE est proche d'une limite beaucoup plus basse, le dépassement de cette limite est peut-être la cause immédiate du problème. Un swap presque plein, une utilisation prolongée du swap ou une activité disque importante peuvent ralentir l'édition de données avant même que l'hôte n'arrête un processus.

Une fenêtre de terminal Linux affichant les commandes free -h et swapon --show
Étape 1 : exécutez free -h et swapon --show sur l’hôte VPS pour voir la RAM disponible et si le swap est actif.
Une fenêtre de terminal Linux affichant les statistiques Docker --no-stream
Étape 1 : docker stats --no-stream compare l’utilisation actuelle de la mémoire du conteneur ONLYOFFICE avec sa limite.

Vérifiez également les limites Docker configurées :

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

La première commande affiche les paramètres de mémoire et de mémoire plus swap en octets. Une limite de mémoire nulle signifie généralement qu'aucune limite de mémoire n'est explicitement configurée pour le conteneur ; cela ne signifie pas que le VPS dispose d'une RAM illimitée. Le paramètre de mémoire et swap de Docker correspond à une limite combinée de mémoire et de swap ; il ne faut donc pas l'interpréter comme une limite de swap uniquement. La deuxième commande indique si Docker a enregistré une erreur de mémoire insuffisante (OOM) pour le conteneur et son dernier code de sortie. Docker indique que ces limites sont des contrôles appliqués par l'hôte Linux, et une surcharge OOM à l'échelle de l'hôte peut affecter plusieurs conteneurs.

2. Consultez les journaux du conteneur et le cas d'utilisation intensive connu d'ONLYOFFICE

Consultez les journaux récents avant de modifier les paramètres ou de supprimer des fichiers :

docker logs --since 1h <CONTAINER_ID>

Recherchez les redémarrages répétés, les erreurs de démarrage de la base de données et les messages proches du moment où un éditeur est devenu indisponible. Si vous disposez des autorisations nécessaires, consultez également le journal du noyau hôte pour détecter les événements de mémoire insuffisante.

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

La page de dépannage Docker d'ONLYOFFICE recommande de vérifier la présence de documents bloqués ou oubliés /var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten/lorsque l'utilisation de la mémoire semble anormalement élevée. Commencez par examiner la taille et le contenu du répertoire ; ne supprimez pas ses fichiers sans précaution. Ils peuvent être utiles pour la récupération ou le dépannage. Si le répertoire est volumineux ou continue de croître, conservez les fichiers et les journaux, puis suivez les instructions de dépannage officielles ou contactez l'assistance ONLYOFFICE pour savoir quels éléments peuvent être supprimés sans risque pour votre version.

Une fenêtre de terminal Linux affichant la commande docker logs avec un espace réservé pour l'ID du conteneur
Étape 2 : inspectez les journaux récents du conteneur avant de modifier le VPS ou de supprimer les fichiers mis en cache.

3. Réduire la demande évitable et corriger une capacité Docker trop faible

Dans les recommandations de dimensionnement d'ONLYOFFICE, un « utilisateur actif » est une personne ayant un document ouvert dans l'éditeur, même si elle le consulte simplement. Les utilisateurs simplement connectés à une plateforme intégrée sans document ouvert ne sont pas comptabilisés de la même manière. Demandez aux utilisateurs de fermer les onglets de documents inutilisés et évitez de planifier une période de travail d'édition intensive sur un VPS de petite capacité. Si la charge est due à l'ouverture simultanée de plusieurs feuilles de calcul volumineuses ou de fichiers complexes, comparez la mémoire utilisée en période de faible activité et au pic d'activité réel plutôt que de vous fier uniquement au nombre de comptes.

Si le swap est désactivé sur votre VPS, son ajout peut constituer une réserve temporaire en cas de pic de charge soudain. Le guide d'installation Docker d'ONLYOFFICE recommande au moins 4 Go de swap, en précisant que cette quantité dépend du système d'exploitation hôte. Le swap étant stocké sur le disque et beaucoup plus lent que la RAM, il ne remplace pas une mémoire physique suffisante. Avant de créer un fichier de swap, vérifiez qu'il n'en existe pas déjà un, assurez-vous de disposer d'un espace disque libre et confirmez que votre système de fichiers et votre fournisseur VPS prennent en charge cette fonctionnalité. Voici un exemple de configuration sur un système de fichiers Linux standard compatible avec le swap :

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

N’exécutez pas ces commandes sur un /swapfilefichier d’échange existant. Pour conserver un fichier d’échange nouvellement créé après un redémarrage, ajoutez une entrée correspondante /etc/fstabuniquement après avoir vérifié l’existence d’une entrée :

/swapfile none swap sw 0 0

Si Docker affiche une limite de mémoire insuffisante pour le conteneur, examinez le fichier Compose ou le panneau de déploiement ayant créé le conteneur. N'augmentez ou ne supprimez cette limite qu'après avoir vérifié la RAM totale du VPS et la mémoire utilisée par le système d'exploitation, la base de données, la plateforme d'intégration et les autres services. N'allouez pas toute la RAM de l'hôte à ONLYOFFICE. Si l'hôte est saturé, modifier une limite Docker ne libérera pas de mémoire physique supplémentaire ; redimensionnez le VPS ou déplacez les autres services vers un autre hôte. Compose prend en charge les limites de mémoire, mais la limite configurée doit correspondre au mode de déploiement réel et à la mémoire disponible sur l'hôte.

Un VPS de 2 Go exécutant ONLYOFFICE en parallèle de Nextcloud ou d'autres services ne respecte pas la configuration minimale de 4 Go de RAM préconisée par le fournisseur. Un VPS de 4 Go peut également manquer de mémoire si le système d'exploitation hôte et la pile d'intégration la partagent. Dans ce cas, un VPS plus puissant ou un serveur de documents dédié est plus fiable que le redémarrage constant du conteneur. Pour plus de 400 utilisateurs actifs simultanés, le tableau ONLYOFFICE actuel recommande un déploiement Kubernetes et de contacter ONLYOFFICE pour obtenir des conseils sur le dimensionnement ; il ne s'agit pas d'une charge de travail qui peut être résolue par l'ajout d'un petit fichier d'échange à un seul VPS.

Une fenêtre de terminal Linux affichant la commande de préparation à l'arrêt documentée d'ONLYOFFICE
Étape 4 : avant un redémarrage planifié du conteneur, exécutez le script de préparation documenté d’ONLYOFFICE afin que les sessions d’édition actives puissent se déconnecter proprement.

4. Redémarrez en toute sécurité, puis vérifiez le résultat.

Ne redémarrez pas le serveur de documents pendant que des utilisateurs travaillent dessus, sauf en cas d'interruption inévitable. ONLYOFFICE précise qu'un document est enregistré une fois que tous les utilisateurs qui le modifient l'ont fermé. Avant un arrêt planifié du serveur, son guide de dépannage recommande l'exécution du script de préparation ci-dessous ; cette opération peut prendre jusqu'à cinq minutes, le temps que les utilisateurs se déconnectent. Prévenez les utilisateurs au préalable, conservez des sauvegardes et suivez votre procédure de maintenance habituelle.

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

Si vous utilisez Docker Compose, effectuez la modification permanente dans la configuration Compose ou le panneau de contrôle, puis redémarrez le projet selon sa procédure habituelle. Une modification ponctuelle apportée à un conteneur en cours d'exécution peut être perdue lors de sa recréation. N'utilisez pas --oom-kill-disableune priorité OOM extrême pour maintenir ONLYOFFICE en vie ; Docker avertit que la saturation de la mémoire hôte peut alors mettre en danger le VPS et les autres services.

Une fois le VPS ou le conteneur redémarré, vérifiez son bon fonctionnement : assurez-vous que l’éditeur ouvre et enregistre un document de test, que la mémoire hôte reste disponible et que le conteneur ne redémarre pas de manière répétée. Surveillez la mémoire hôte et celle du conteneur pendant une période d’activité représentative. Si la mémoire utilisée augmente continuellement après la fermeture des documents, que le répertoire des fichiers oubliés grossit ou que des erreurs de mémoire insuffisante (OOM) se produisent, collectez les résultats des commandes free -h` ls`, `ls` swapon --show, docker stats` docker inspectls` et `ls`, ainsi que les journaux récents, pour obtenir de l’aide. Un redémarrage réussi ne garantit pas que la capacité est stable.

Guide de décision rapide

Ce que vous observezProchaine étape la plus utile
La mémoire RAM de l'hôte est saturée et d'autres services sont également affectés.Mettez à niveau le VPS ou déplacez les services non liés à l'édition. Un paramètre de conteneur ne peut pas augmenter la RAM de l'hôte.
L'hôte dispose d'espace, mais ONLYOFFICE atteint une limite basse de Docker.Vérifiez la limite de composition ou du fournisseur et augmentez-la uniquement dans les limites de la marge de sécurité de l'hôte.
L'utilisation augmente avec les documents ouverts, puis diminue lorsqu'ils sont fermés.Comparez avec la concurrence et les types de documents attendus ; envisagez davantage de RAM si les pics normaux entraînent des erreurs de mémoire insuffisante.
L'utilisation reste anormalement élevée après les baisses d'activitéExaminez les journaux récents et le cache des fichiers oubliés documentés ; préservez les données et effectuez les investigations nécessaires avant le nettoyage.
Plus de 400 utilisateurs ont des documents ouverts simultanément.Utilisez la méthode de dimensionnement de cluster/Kubernetes proposée par le fournisseur plutôt qu'un seul petit VPS.

Références officielles

Laisser un commentaire

Comment cocher une case dans Word : 2 façons de créer une liste de contrôle

Comment cocher une case dans Word : 2 façons de créer une liste de contrôle

Découvrez comment ajouter des puces imprimables ou des cases à cocher interactives dans Word sous Windows, Mac et sur le Web, ainsi que comment remplacer le X par défaut par une coche.

Comment habiller le texte autour des images dans Word : 3 méthodes faciles

Comment habiller le texte autour des images dans Word : 3 méthodes faciles

Dans Word, pour habiller le texte, utilisez les options de mise en page, le format d'image ou le menu contextuel (clic droit), puis choisissez une mise en page d'image et contrôlez son déplacement par rapport au texte.

Comment imprimer une enveloppe : 2 méthodes simples dans Word et Google Docs

Comment imprimer une enveloppe : 2 méthodes simples dans Word et Google Docs

Imprimez une enveloppe dans Word ou utilisez un module complémentaire de publipostage pour Google Docs. Assurez-vous que le format du papier est adapté, insérez correctement l'enveloppe et vérifiez l'alignement avant d'imprimer le lot.

Comment ouvrir l'éditeur VBA dans Excel (Windows et Mac)

Comment ouvrir l'éditeur VBA dans Excel (Windows et Mac)

Ouvrez l'éditeur VBA d'Excel avec Alt+F11 ou accédez à Développeur > Visual Basic. Découvrez comment utiliser Développeur, Excel pour Mac et enregistrer des macros dans un format qui conserve le code VBA.

Comment indenter dans Word : 4 méthodes fiables pour formater les paragraphes

Comment indenter dans Word : 4 méthodes fiables pour formater les paragraphes

Apprenez à ajouter des retraits de première ligne, des retraits suspendus, des retraits à gauche et à droite dans Word à l'aide de la touche Tabulation, de la règle, des paramètres de paragraphe et des commandes de mise en page Web.

5 solutions efficaces pour résoudre le problème d'Outlook bloqué sur « Tentative de connexion »

5 solutions efficaces pour résoudre le problème d'Outlook bloqué sur « Tentative de connexion »

Utilisez cinq vérifications pratiques de connexion Outlook pour déterminer si Exchange, votre réseau, les compléments ou un profil Outlook sont à l'origine du message « Tentative de connexion ».

Comment insérer une feuille de calcul provenant d'un autre classeur dans Excel

Comment insérer une feuille de calcul provenant d'un autre classeur dans Excel

Copiez ou déplacez une feuille de calcul Excel dans un autre classeur, choisissez sa position et vérifiez les formules, les graphiques et la mise en forme après le transfert.

Comment faire pivoter du texte dans Excel avec des préréglages ou un angle personnalisé

Comment faire pivoter du texte dans Excel avec des préréglages ou un angle personnalisé

Utilisez le menu Orientation d'Excel pour incliner le texte des cellules vers le haut, vers le bas ou en diagonale, définir un angle précis et conserver la lisibilité des titres. Inclut les notes pour ordinateur et Web.

Comment utiliser la fonction Somme automatique dans Excel : méthodes rapides pour totaliser les lignes et les colonnes

Comment utiliser la fonction Somme automatique dans Excel : méthodes rapides pour totaliser les lignes et les colonnes

Utilisez la fonction Somme automatique d'Excel pour totaliser une ligne ou une colonne, vérifier la plage suggérée, reporter les totaux adjacents ou insérer la formule SOMME à l'aide d'un raccourci clavier.

Comment créer une nouvelle feuille Excel avec la même mise en forme

Comment créer une nouvelle feuille Excel avec la même mise en forme

Dupliquez une feuille de calcul pour conserver sa mise en forme, sa disposition et ses formules, puis effacez uniquement les données si vous avez besoin d'un modèle vierge. Procédure pour Excel (ordinateur de bureau, Mac et navigateur web).