The websocket proxy server/client spins a CPU core by doing busy wait. It keeps the CPU busy to wait messages or sending heartbeat between the server and clients. It is not doing hard spin though, the CPU will not totally locked up. If there is no job to do, it yields the thread so that other thread can be executed. I have been running at least 2 Zorro S instances on a single core VM, everything works fine.