High CPU or memory usage

A healthy mihomo core sits at a few tens of MB of memory with CPU near idle. Sustained high usage always has a specific cause, and the list below finds it quickly.

The usual causes

Log level left on debug: the log page scrolls endlessly and disk writes plus CPU both climb. Set it back to info or warning.

Too many rule sets: several third-party sets stacked in one config means every connection is matched against all of them. Cut the duplicates.

Connection pile-up: some program is opening connections non-stop — P2P tools and sync clients are the usual suspects. Sort the Connections page by count and it becomes obvious.

Update interval set too short: pulling and parsing the config every few minutes adds up — see Automatic subscription updates.

Sponsored Where does the subscription link come from? Our partner provider gives you 1 GB of high-speed Hong Kong data at signup — import it in one click. Get high-speed nodes

Confirming it quickly

  1. Click Close all connections on the Connections page and watch usage. An immediate drop points at connection count.
  2. Set the log level to warning temporarily and observe for a minute.
  3. Start with a minimal profile — a few nodes, no extra rule sets. Normal usage there means the problem is in your config.
  4. Still abnormal? Note the client and core versions and search GitHub Issues for a known report.