Troubleshooting & Diagnostics
If you encounter issues with model execution, GPU allocation, or network bindings, follow this debugging guide.
1. Accessing Application Logs
Logs are vital for diagnosing kernel compiling issues or driver mismatches.
Linux
If running as a systemd service:
journalctl -u merry.service -e --no-pager
If running manually, logs are printed directly to stdout/stderr.
macOS
Logs are captured by the OS service manager. View them at:
tail -n 100 ~/.merry/logs/server.log
Windows
Check the application logs directory:
%LOCALAPPDATA%\GoingMerry\server.log
2. Port Conflict: "address already in use"
By default, the server binds to port 11434. If this port is occupied by another local service:
listen tcp 127.0.0.1:11434: bind: address already in use
Solution
- Identify the process occupying the port:
sudo lsof -i :11434
- Stop the conflicting service, or tell GoingMerry to listen on an alternate port:
export MERRY_HOST=127.0.0.1:11435merry serve
3. GPU Allocation Fallback (Running on CPU only)
If a model runs slow or the log indicates a fallback:
falling back to CPU execution: no compatible graphics cards detected
Diagnostics Checklist
- Driver Validation: Ensure your system graphics drivers match the library expectations:
- For NVIDIA: Run
nvidia-smito check driver and CUDA compatibility. - For AMD: Check
rocm-smito confirm library configuration.
- For NVIDIA: Run
- Container Boundaries: If running in Docker, verify runtime hooks are passed:
- Must run with
--gpus all(for NVIDIA) or container device passes (for AMD).
- Must run with
- Environment Flags: Make sure you haven't explicitly disabled GPU layers inside a custom Modelfile:
# Ensure num_gpu is not explicitly set to 0PARAMETER num_gpu 99
4. VRAM Overflows and Crashes
If your machine crashes or hangs when loading large model parameters (e.g., deepseek-v3 or 70B models), you are likely running out of physical GPU memory:
Solutions
- Quantization: Load a smaller quantization variant (e.g.,
llama4:8b-instruct-q4_K_Minstead of the FP16 weights). - Offload Control: Force a subset of layer tensors to run on standard system CPU/RAM, leaving the rest on the GPU:
- Create a custom Modelfile and manually specify the parameter:
# Map only 15 layers to GPU, standardizing the rest on system RAMPARAMETER num_gpu 15
- Create a custom Modelfile and manually specify the parameter: