It's 9am Monday. Your team has sent 12 messages to the Slack bot since Friday. None got a response. The bot has been down since Saturday afternoon.
You find out when someone asks you directly: "Is the AI assistant broken?"
This is the most common complaint in the OpenClaw community. Bots go offline. Nobody notices immediately. By the time someone does, hours or days have passed.
Here are the six most common causes — and what to do about each one.
Cause 1: RAM Exhaustion
OpenClaw's memory footprint grows over time, especially with active conversations and skills that cache data. On a 1GB RAM VPS (the cheapest option), this is a near-certainty.
How it happens: OpenClaw starts fine. After a few days or a week of conversations, memory usage crosses the threshold. The process gets killed by the OS. Nobody notices.
How to diagnose:
# Check if OpenClaw is running ps aux | grep openclaw # Check memory pressure when it was killed journalctl -u openclaw --since "2 days ago" | grep -i "killed\|oom"
How to fix: Either upgrade to a 2GB+ VPS, or configure a swap file. Swap isn't ideal for performance but prevents crashes:
fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile
The memory leak problem
Some community skills have memory leaks. If your instance restarts daily at roughly the same time, you likely have a leaky skill. Remove skills one at a time to identify the culprit.
Cause 2: Uncaught Exceptions in Skills
A skill crashes. OpenClaw's error handling doesn't catch it cleanly. The whole process exits.
This is especially common with:
- Skills that make external API calls without timeout handling
- Skills that parse user input without input validation
- Skills using dynamic code execution patterns
How to diagnose:
# Check the last few minutes before crash time journalctl -u openclaw --since "1 hour ago" -p err
How to fix: The proper solution is better skill error isolation (which OpenClaw's core team is working on). The practical fix: use a process manager.
# Install PM2 npm install -g pm2 # Start OpenClaw with PM2 (auto-restarts on crash) pm2 start "node openclaw/index.js" --name openclaw pm2 save pm2 startup
