Auto-suspend

Idle boxes cost almost nothing and wake in under a second.

When a box goes idle it's PauseVm'd and its memory is snapshotted to disk — compute billing stops. The next connection LoadSnapshots it back, kernel and processes and open TCP sockets intact, in well under a second.

When does it suspend?

The idle signal is AND-combined — a box suspends only when, sustained for the idle timeout:

An active inbound SSH/HTTP connection holds the box up via a conntrack gate, so you're never suspended mid-session.

Detached background jobs with no interactive session are not counted as activity — krillbox is "boxes on demand", not always-on workers.

Controlling it

krillbox-guest keep-alive 2h            # hold this box up for a while
krillbox-guest auto-suspend off|on      # toggle for this box
krillbox-guest idle --timeout=30m --load=1.0   # tune the policy
These run inside the box (the metadata API). There's no launch-time opt-out via ssh cli@; keep a long job alive with krillbox-guest keep-alive or disable suspend for the box with krillbox-guest auto-suspend off.

Wake

A box wakes on the next SSH/HTTP connection, or — if you opt in — on traffic to declared ports (wake-on-traffic).