Skip to content

Efficiency

Efficient use of system resources is one of OrbStack's core principles. It's designed to be lightweight and unobtrusive, allowing you to focus on your work instead of your tools.

CPU

OrbStack uses around 0.1% CPU when idle, often dropping to 0%. That's lower than the background CPU usage of many typical macOS apps!

CPU is used on demand when you run container and machines. You can limit the maximum CPU usage in Preferences or using the orb config command.

To minimize CPU usage, stop any containers you're not using.

Memory

OrbStack allocates memory on-demand, so usage starts low and grows as needed until the limit is reached.

Reduce memory usage

To reduce peak memory usage, lower the limit in Preferences or using the orb config command. OrbStack has advanced memory management that allows it to run the same services with less memory than other apps.

Dynamic memory allocation

True dynamic memory allocation would allow OrbStack to release memory back to macOS when it's no longer needed, reducing memory usage and removing the need to adjust the limit.

Unfortunately, dynamic memory allocation is not production-ready due to a still-unfixed macOS bug (FB11996689). We already have a working prototype and have worked with Apple on the issue, but we don't know when it'll be fixed.

In the meantime, OrbStack does its best to help you minimize memory usage.

Storage

A fresh install of OrbStack uses less than 10 MB of disk space. Usage increases and decreases as needed thanks to fully dynamic disk management, with little overhead.

It may be helpful to clean the build cache if you're running low on space.

Linux machines

Linux machines use nearly no additional CPU compared to OrbStack's baseline, so you can run dozens of machines without breaking a sweat. Some distros are slightly heavier than others.