Устранение проблемы с нехваткой памяти в ONLYOFFICE Document Server на VPS

Для начала проверьте, не превышает ли хост Linux или контейнер ONLYOFFICE лимит памяти. В текущих рекомендациях ONLYOFFICE Docs Community Edition указаны базовые требования: 4 ГБ ОЗУ и не менее 4 ГБ файла подкачки. На странице устранения неполадок Docker говорится, что использование 2–4 ГБ ОЗУ может быть нормой для нескольких десятков активных пользователей, поскольку использование памяти возрастает с открытием документов и количеством одновременно работающих пользователей. В таблице аппаратного обеспечения рекомендуется использовать Kubernetes для развертываний с количеством одновременно работающих пользователей более 400. Это лишь ориентировочные данные, а не гарантия того, что каждый VPS справится с одинаковой нагрузкой: также важны операционная система хоста, другие контейнеры, размер документов и ограничения поставщика VPS.

Это руководство посвящено стандартной установке Docker на VPS под управлением Linux. Выполните четыре шага по порядку: измерьте нагрузку на хост и контейнеры, проверьте журналы и кэш забытых файлов, уменьшите избыточную нагрузку или исправьте слишком низкий лимит контейнеров, затем перезапустите только при необходимости и проверьте работу в обычном режиме. В примерах команд используется <CONTAINER_ID>в качестве заполнителя; замените его идентификатором или именем из docker ps. Сделайте резервную копию и запланируйте техническое обслуживание перед остановкой редактора с активными пользователями.

1. Определите, где именно возникает нехватка памяти.

Первые команды выполняйте на VPS-хосте, а не внутри контейнера ONLYOFFICE:

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

free -hОтображает доступную память хоста и файл подкачки. swapon --showПодтверждает, активен ли файл подкачки. В таблице docker statsсравнивается использование памяти ONLYOFFICE с отображаемым лимитом. Если на хосте почти нет доступной памяти, а несколько служб используют оперативную память, возможно, VPS недостаточно мощный. Если на хосте еще есть запас памяти, но контейнер ONLYOFFICE близок к гораздо меньшему лимиту, непосредственной причиной может быть ограничение емкости контейнера. Почти заполненный файл подкачки, постоянное использование файла подкачки или интенсивная дисковая активность могут замедлить редактирование еще до того, как хост завершит какой-либо процесс.

Окно терминала Linux, отображающее команды free -h и swapon --show.
Шаг 1: выполните команды free -h и swapon --show на VPS-хосте, чтобы увидеть доступную оперативную память и активен ли файл подкачки.
Окно терминала Linux, отображающее команду `docker stats --no-stream`.
Шаг 1: команда `docker stats --no-stream` сравнивает текущее использование памяти контейнером ONLYOFFICE с его лимитом.

Проверьте также установленные ограничения Docker:

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

Первая команда выводит параметры памяти и памяти плюс файл подкачки в байтах. Нулевой лимит памяти обычно означает, что явное ограничение памяти контейнера не задано; это не означает, что VPS имеет неограниченный объем оперативной памяти. Параметр памяти и файла подкачки в Docker представляет собой комбинированный потолок памяти и файла подкачки, поэтому не следует интерпретировать его как ограничение только файла подкачки. Вторая команда сообщает, зафиксировал ли Docker завершение работы контейнера из-за нехватки памяти (OOM) и его последний код завершения. Docker документирует эти ограничения как элементы управления, применяемые хостом Linux, и общехостовая нехватка памяти может повлиять на более чем один контейнер.

2. Проверьте журналы контейнеров и известные сценарии интенсивного использования ONLYOFFICE.

Перед изменением настроек или удалением файлов ознакомьтесь с последними логами:

docker logs --since 1h <CONTAINER_ID>

Обратите внимание на повторяющиеся перезапуски, ошибки запуска базы данных и сообщения, появившиеся примерно в то же время, когда редактор стал недоступен. Также проверьте журнал ядра хоста на наличие событий, связанных с нехваткой памяти, если у вас есть соответствующие права:

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

На странице устранения неполадок Docker на сайте ONLYOFFICE специально рекомендуется проверять наличие зависших или забытых документов, /var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten/если использование памяти кажется неожиданно высоким. Сначала проверьте размер и содержимое каталога; не удаляйте его файлы бездумно. Они могут быть важны для восстановления или устранения неполадок. Если каталог большой или продолжает расти, сохраните файлы и журналы, а затем следуйте официальным рекомендациям по устранению неполадок или обратитесь в службу поддержки ONLYOFFICE, чтобы узнать, что безопасно удалить для вашей версии.

Окно терминала Linux, отображающее команду `docker logs` с заполнителем в виде идентификатора контейнера.
Шаг 2: перед сменой VPS или удалением кэшированных файлов проверьте последние журналы контейнера.

3. Снизить избыточный спрос и исправить слишком маленький лимит Docker.

В рекомендациях ONLYOFFICE по определению размера ресурсов «активным пользователем» считается тот, у кого открыт документ в редакторе, включая тех, кто только его просматривает. Пользователи, просто вошедшие в интегрированную платформу без открытого документа, учитываются иначе. Попросите пользователей закрыть неиспользуемые вкладки документов и избегайте планирования больших циклов редактирования на небольшом VPS. Если нагрузка возникает после одновременного открытия нескольких больших электронных таблиц или сложных файлов, сравните объем памяти при низкой активности и в пиковый момент, а не оценивайте его только по количеству учетных записей.

Если на VPS отключен файл подкачки, его добавление может обеспечить кратковременную защиту от резкого скачка нагрузки. В текущем руководстве по установке Docker от ONLYOFFICE указано, что требуется не менее 4 ГБ файла подкачки, и отмечается, что этот объем зависит от операционной системы хоста. Файл подкачки работает на диске и намного медленнее оперативной памяти, поэтому он не заменяет достаточный объем физической памяти. Перед созданием файла подкачки убедитесь, что он еще не существует, проверьте свободное место на диске и подтвердите, что ваша файловая система и VPS-провайдер поддерживают этот метод. В типичной файловой системе Linux, поддерживающей файл подкачки, пример выглядит так:

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

Не выполняйте эти команды поверх существующего файла /swapfileподкачки. Чтобы сохранить вновь созданный файл подкачки после перезагрузки, добавляйте одну соответствующую запись в файл подкачки /etc/fstabтолько после проверки наличия существующей записи:

/swapfile none swap sw 0 0

Если Docker показывает низкий лимит памяти для контейнера, проверьте файл Compose или панель развертывания, создавшую контейнер. Увеличивайте или уменьшайте лимит только после проверки общего объема оперативной памяти VPS и памяти, используемой ОС, базой данных, интеграционной платформой и другими службами. Не выделяйте всю оперативную память хоста только для ONLYOFFICE. Если память хоста исчерпана, изменение лимита Docker не приведет к увеличению физической памяти; измените размер VPS или переместите другие службы на другой хост. Compose поддерживает ограничения памяти, но настроенный лимит должен соответствовать фактическому режиму развертывания и доступной памяти хоста.

VPS с 2 ГБ оперативной памяти, на котором работает ONLYOFFICE вместе с Nextcloud или другими сервисами, не соответствует заявленному производителем базовому объему в 4 ГБ. VPS с 4 ГБ оперативной памяти также может испытывать нехватку памяти, если она используется совместно операционной системой хоста и стеком интеграции. В таких случаях более надежным вариантом будет использование более крупного VPS или выделенного сервера документов, чем многократный перезапуск контейнера. Для более чем 400 одновременно активных пользователей в текущей таблице ONLYOFFICE рекомендуется развертывание Kubernetes и обращение в ONLYOFFICE за консультацией по выбору объема памяти; это не та нагрузка, которую можно решить, добавив небольшой файл подкачки на один VPS.

Окно терминала Linux, отображающее документированную команду подготовки к завершению работы ONLYOFFICE.
Шаг 4: перед запланированным перезапуском контейнера запустите подготовленный скрипт ONLYOFFICE, чтобы активные сеансы редактирования могли корректно отключиться.

4. Перезагрузите систему в безопасном режиме, затем проверьте результат.

Не перезапускайте Document Server во время редактирования пользователями, если только отключение не является неизбежным. ONLYOFFICE поясняет, что документ сохраняется после того, как все пользователи, редактирующие его, закроют его. Перед плановой остановкой контейнера руководство по устранению неполадок рекомендует использовать приведенный ниже скрипт подготовки; это может занять до пяти минут, пока пользователи отключаются. Предупредите пользователей заранее, сохраните резервные копии и следуйте стандартной процедуре технического обслуживания.

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

Если вы используете Docker Compose, внесите постоянные изменения в конфигурацию Compose или панель управления и используйте обычный процесс перезапуска проекта. Однократное изменение работающего контейнера может исчезнуть при его повторном создании. Не используйте --oom-kill-disableэкстремальный приоритет OOM для поддержания работы ONLYOFFICE; Docker предупреждает, что исчерпание памяти хоста может поставить под угрозу VPS и другие сервисы.

После перезапуска VPS или контейнера убедитесь, что контейнер остается работоспособным, редактор открывает и сохраняет тестовый документ, память хоста остается доступной, и контейнер не перезапускается повторно. Наблюдайте за использованием памяти хоста и контейнера в течение типичного периода высокой загрузки. Если после закрытия документов объем памяти постоянно увеличивается, увеличивается размер каталога "забытых файлов" или возвращаются события нехватки памяти (OOM), соберите вывод команд free -h, swapon --show, docker stats, docker inspect, и последние журналы для подтверждения. Не рассматривайте один успешный перезапуск как доказательство того, что емкость памяти зафиксирована.

Краткое руководство по принятию решений

Что вы наблюдаетеНаиболее полезный следующий ход
Оперативная память хоста исчерпана, и это также влияет на работу других служб.Обновите VPS или перенесите сервисы, не относящиеся к редактору. В настройках контейнера нельзя добавить оперативную память хоста.
На хосте достаточно места, но ONLYOFFICE достигла низкого лимита Docker.Проверьте лимит Compose или лимит провайдера и повышайте его только в пределах безопасного запаса для хоста.
Использование программы возрастает при открытии документов, а затем снижается при их закрытии.Сравните с ожидаемым уровнем параллельного выполнения и типами документов; рассмотрите возможность увеличения объема оперативной памяти, если обычные пиковые нагрузки приводят к ошибке нехватки памяти (OOM).
Уровень использования остается необычно высоким даже после снижения активности.Просмотрите последние журналы и кэш забытых файлов; сохраните данные и проведите расследование перед очисткой.
Более 400 пользователей одновременно открыли документы.Используйте предложенный поставщиком алгоритм расчета размера кластера/Kubernetes, а не один небольшой VPS.

Официальные ссылки

Оставить комментарий

Как подключить Collabora Online к Seafile: параметры настройки и шаги.

Как подключить Collabora Online к Seafile: параметры настройки и шаги.

Подключите Seafile к Collabora Online с помощью Docker или отдельного хоста. Сравните компромиссы при развертывании, настройте параметры HTTPS и WOPI и проверьте корректность редактирования.

Устранение задержек в LibreOffice Writer при работе с большими документами, содержащими изображения.

Устранение задержек в LibreOffice Writer при работе с большими документами, содержащими изображения.

Диагностика медленной печати, прокрутки и сохранения файлов LibreOffice Writer, содержащих большое количество изображений. Проверка настроек дисплея, сжатие изображений большого размера и выявление проблем с профилем или оборудованием.

Как настроить Collabora CODE в Kubernetes с помощью Helm

Как настроить Collabora CODE в Kubernetes с помощью Helm

Разверните Collabora CODE в Kubernetes с помощью официального Helm-диаграммы. Настройте входящий трафик, TLS, доступ к хосту WOPI, секреты, масштабирование и сквозные проверки.

Как уменьшить размер файлов презентаций LibreOffice, содержащих большое количество изображений.

Как уменьшить размер файлов презентаций LibreOffice, содержащих большое количество изображений.

Уменьшите размер большой презентации LibreOffice Impress, сжав фотографии большого размера, выбрав разумное разрешение и качество JPEG, а также проверив сохраненный файл, не жертвуя при этом читаемостью слайдов.

Как установить Collabora Online CODE с помощью Docker и Nextcloud

Как установить Collabora Online CODE с помощью Docker и Nextcloud

Установите Collabora Online CODE в Docker, безопасно опубликуйте его через обратный прокси-сервер, подключите к Nextcloud Office и проверьте возможность редактирования документов в браузере.

Устранение проблемы с нехваткой памяти в ONLYOFFICE Document Server на VPS

Устранение проблемы с нехваткой памяти в ONLYOFFICE Document Server на VPS

Диагностика ошибок памяти ONLYOFFICE Docs на VPS, проверка ограничений хоста и Docker, просмотр логов и забытых документов, безопасное добавление файла подкачки и перезапуск без риска потери активных правок.

Исправлена ​​ошибка копирования и вставки в Collabora Online между локальными приложениями.

Исправлена ​​ошибка копирования и вставки в Collabora Online между локальными приложениями.

Для устранения неполадок с копированием и вставкой в ​​Collabora Online в локальных приложениях проверьте сочетания клавиш, разрешения буфера обмена браузера, HTTPS, политики iframe и форматы контента.

Как исправить размытые шрифты в ONLYOFFICE Desktop на Linux: практическое руководство

Как исправить размытые шрифты в ONLYOFFICE Desktop на Linux: практическое руководство

Чтобы исправить размытый текст в настольных редакторах ONLYOFFICE на Linux, проверьте масштабирование экрана, масштабирование интерфейса приложения, доступность шрифтов и область рендеринга в безопасном порядке.

Как создать интерактивные заполняемые PDF-формы в LibreOffice Writer

Как создать интерактивные заполняемые PDF-формы в LibreOffice Writer

Узнайте, как добавлять элементы управления формами Writer, устанавливать метки и порядок перехода по вкладкам, экспортировать данные с включенной функцией создания PDF-форм и тестировать интерактивный PDF-файл перед его отправкой.

Как ограничить печать и загрузку файлов в ONLYOFFICE

Как ограничить печать и загрузку файлов в ONLYOFFICE

Узнайте, как блокировать печать и загрузку документов в интеграциях ONLYOFFICE Workspace, DocSpace или Docs, и проверьте, какие элементы управления применяются к каждому способу совместного доступа.