When Clash-related processes burn CPU or RAM climbs, separate UI thrash from core burn. Chatty connections/log panes hammer the UI; core burn usually means connections, latency tests, Tun, or a subscription retry loop.
Ignore short spikes after refresh/tests. Care about sustained double-digit CPU or RAM that never returns. Reinstall won’t fix "url-test punching yourself."
Subtract first
- Stop aggressive connections auto-refresh; lower log verbosity.
- Pause or slow url-test intervals (latency).
- A/B with Tun off—extra forwarding costs on weak machines (Tun).
Thousands of short connections: find the retrier (extension, failed updater, wide rules). See routing.
Subscriptions, autostart, profiles
Huge profiles or retrying failed updates create periodic CPU spikes—fix intervals and update failures. Autostart plus morning auto-update stacks load—stagger them. When switching profiles, ensure the old core exits; leftover processes fight ports (ports).
Leak vs heavy config
Note RAM → browse idle 30 minutes → check fall-back; then stress tests/node switches. Idle-only climb suggests leak/old core—record version and consider current stable (download, v2.5.6). Old hardware isn’t a leak. Windows sleep/wake weirdness: restart the app/service; on macOS/Linux see whether WebView or mihomo grows.
Separate from "slow network"
High CPU + fine speed: cut tests/UI refresh. Slow speed + calm CPU: slow speed.
Before reset / done when
Back up URLs/Merge (backup, config location). Done when idle CPU drops, RAM stops monotonic climb, and tests are manual/on-demand. For bug reports include version, Tun on/off, rough profile size, repro steps.
Slow the url-test loop
A url-test group that pings every few seconds is a common silent burner. Lengthen the interval so the core is not constantly probing nodes:
proxy-groups:
- name: AUTO
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
Pair that with a calmer connections pane (turn off auto-refresh) before blaming the core. Logs to confirm the source: logs guide.
Symptom-to-cause table
| Pattern | Likely cause | First move |
|---|---|---|
| CPU spikes every minute | url-test / auto-refresh | Lengthen interval, stop auto-refresh |
| RAM climbs only while idle | Leak / old core | Update to current stable build |
| CPU high with Tun on, fine off | Forwarding overhead | Tun off unless needed; check service |
| Periodic spikes after boot | Autostart + auto-update stack | Stagger autostart and update times |