Вопрос или проблема
В последние пару дней у меня начались системные зависания, которые требовали жесткой перезагрузки каждый раз. После некоторого онлайн-исследования я проверил файл syslog и обнаружил, что он превышает 3 ГБ всего за последние 5 дней.
Ошибки каждые 2-3 секунды в основном следующие:
07 окт 09:38:38 b3a5t systemd[1]: ollama.service: Запланирована перезагрузка, счетчик перезагрузок составляет 11377.
07 окт 09:38:38 b3a5t systemd[1]: Остановлена служба Ollama.
07 окт 09:38:38 b3a5t systemd[1]: Запущена служба Ollama.
07 окт 09:38:38 b3a5t systemd[1]: ollama.service: Главный процесс завершился, код=exited, статус=1/FAILURE
07 окт 09:38:38 b3a5t ollama[299476]: 2024/10/07 09:38:38 routes.go:1153: INFO server config env="map[CUDA_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false O>
07 окт 09:38:38 b3a5t ollama[299476]: Ошибка: mkdir /mnt/disk1/ollama: доступ запрещен
07 окт 09:38:38 b3a5t systemd[1]: ollama.service: Не удалось выполнить с результатом 'exit-code'.
Снова и снова десятки тысяч раз. Я даже не использовал ollama в это время. Я попытался запустить ollama после того, как увидел это, и он работает нормально. У меня нет понятия, почему говорится о запланированной службе. Я проверил, и на устройстве нет запланированных cron.
Я вижу упоминание о Ошибка: mkdir /mnt/disk1/ollama: доступ запрещен.
Я действительно переместил ollama на другой диск в это место, поскольку на основном диске заканчивалось место.
Ответ или решение
Проблема с системным файлом журнала и ошибками systemd
Ваш случай с файлом журнала syslog, который достиг 3 ГБ всего за пять дней, указывает на серьезную проблему с сервисом ollama.service
, о которой свидетельствуют ошибки, возникающие каждые 2-3 секунды. Давайте детально разберем природу этой проблемы и предложим решения.
Анализ ошибок
Из предоставленного вами фрагмента журнала видно, что сервис ollama
часто перезапускается, при этом каждый раз он завершается с ошибкой. Основные строчки, на которые стоит обратить внимание:
ollama.service: Scheduled restart job, restart counter is at 11377.
Stopped Ollama Service.
Started Ollama Service.
ollama.service: Main process exited, code=exited, status=1/FAILURE
Error: mkdir /mnt/disk1/ollama: permission denied.
-
Перезапуск сервиса: Система пытается перезапустить сервис
ollama
в ответ на его аварийное завершение. Такой частый перезапуск (11377 раз за короткий период) вызывает значительное увеличение объема файла журнала, так как каждое действие записывается в системный журнал. -
Ошибка "permission denied": Эта ошибка указывает на то, что сервис не имеет прав на создание каталога по указанному пути. Это может быть связано с тем, что сервис запускается от имени пользователя, не обладающего необходимыми правами, или с неправильными правами на саму папку.
Рекомендации по исправлению проблемы
-
Проверьте права доступа: Убедитесь, что у пользователя, от имени которого запускается
ollama.service
, есть все необходимые права на запись в директорию/mnt/disk1/
. Это можно сделать с помощью команд:ls -ld /mnt/disk1
Если права окажутся недостаточными, вы можете изменить их с помощью команды:
sudo chown -R <username>:<groupname> /mnt/disk1/ollama
или, если необходимо, изменить права:
sudo chmod -R 755 /mnt/disk1/ollama
-
Ограничьте перезапуск сервиса: Чтобы предотвратить дальнейшее заполнение журнала, вы можете временно остановить сервис
ollama
:sudo systemctl stop ollama.service
Это даст вам время для отладки причины ошибок. Вы также можете настроить параметры перезапуска сервиса в конфигурационном файле, чтобы ограничить количество попыток перезапуска.
-
Проверьте настройки сервиса: Убедитесь, что в конфигурационном файле сервиса
ollama.service
отсутствуют некорректные настройки, которые могут привести к ошибкам. Обычно файлы сервисов находятся в/etc/systemd/system/
или/lib/systemd/system/
. -
Очистите файл журнала: Если проблема была временной и устранена, вы можете очистить файл журнала, чтобы предотвратить использование дискового пространства:
sudo journalctl --vacuum-size=100M
Это приведет к удалению старых записей журнала, пока его размер не станет меньше 100МБ.
-
Мониторинг дальнейших ошибок: После исправления прав доступа и перезапуска сервиса продолжайте мониторить системный журнал на предмет новых ошибок и сообщений.
Заключение
Проблемы с системным сервисом ollama.service
, вызванные ошибками прав доступа, могут быть эффективно решены путем проверки и настройки прав на файловой системе. Кроме того, важно следить за состоянием системы, чтобы исключить подобные ситуации в будущем.
Если вам потребуется дополнительная помощь в решении проблемы, не стесняйтесь обращаться к системным администраторам или в службу поддержки вашего программного обеспечения.