cpu.usage() only returns the percentage of usage of a single CPU core, and cpu.free() also only considers what is available for use on a single core