Как проявляется
Шлюз OpenClaw автоматически перезапускается примерно раз в час, в логах появляется сообщение «restart requested (reason=none)», причина перезапуска не указана.
Из-за чего возникает
Перезапуск инициируется внутренним механизмом OpenClaw без явной причины: чаще всего это автообновление, внутренний watchdog по здоровью или мониторинг памяти, либо скрипты очистки с cron. В вашем случае автообновление и cron исключены, значит вероятен внутренний watchdog или утечка памяти, что приводит к ускоряющимся перезапускам.
Как исправить
-
Проверьте настройки автообновления в файле openclaw.json, убедитесь, что параметры
update.autoRestartиupdate.autoInstallотключены, если не хотите авто-перезапусков. -
Отключите или проверьте cron-задачи, особенно связанные с health-check и очисткой сессий.
-
Мониторьте использование памяти и ресурсов шлюза между перезапусками, чтобы выявить утечку памяти или рост потребления.
-
Используйте команду
gateway statusперед перезапуском, чтобы проверить наличие сигналов OOM или исключений. -
Для детальной диагностики рекомендуется реализовать или использовать механизм логирования причины перезапуска с контекстом вызова (например, патч с
resolvedReason = reason ?? 'unknown'и записью стека вызовов). -
Рассмотрите внедрение или использование RestartTracker — механизма, который сохраняет историю перезапусков и анализирует ускоряющуюся частоту, чтобы вовремя выявлять проблемы.
-
Если проблема сохраняется, обратитесь к разработчикам с логами и историей перезапусков для дальнейшего анализа.
Как не столкнуться снова
Отключайте автообновления и ненужные cron-задачи, следите за состоянием памяти и ресурсами шлюза, внедряйте расширенное логирование причин перезапуска.
Источник
Разбор основан на обсуждении в репозитории проекта: issue #48205.
Другие типичные проблемы — в разделе ошибок и решений, а базовая настройка разобрана в первом запуске.