It sucks for interactive use only. It could be solved in user space (see the other comment with cgroups), it just isn't.