Memory not released to default levels: `ray::IDLE` Processes Not Released**

High CPU usage by ray::IDLE processes is often caused by underlying issues in Ray’s worker or event loop implementation, or by misreporting in monitoring tools. Sometimes, the ray::IDLE process is not truly idle but is mislabeled, or it may be busy with background tasks such as gRPC polling, event handling, or memory management. This can also occur if there are bugs or inefficiencies in Ray’s thread or process management, especially under heavy load or with certain Ray Serve configurations (Ray Discourse: ray::IDLE using 80% of CPU).

If you observe this, check for recent Ray issues or updates, and consider profiling the process using tools like py-spy or the Ray Dashboard’s CPU flame graph to see what the process is actually doing. Sometimes, this is a known bug and may be fixed in a newer Ray release (Ray Discourse: ray::IDLE using 80% of CPU).

Sources:

Hint: Mention @RunLLM in the post for followups.