OpenVZ
それぞれのコンテナは独立したプロセスを持ち、プロセスはinitの子プロセスとなっている。プロセスID (PID) は仮想化されており、init PIDはちゃんと1になっている。
OpenVZのCPU スケジューラーは公平なスケジューリング戦略を2段階で実装している。
第1段階では、コンテナごとのcpuunit値に基づいて、スケジューラはCPUタイムスライスをどのコンテナに割り振るか決める。第2段階では、標準のLinuxのスケジューラがコンテナ内のどのプロセスを実行するか、Linuxのプロセス優先順位に基づいて決める。
コンテナごとに異なるcpuunit値を割り振ることが出来る。CPU利用時間はcpuunit値に比例して分配される。
全CPU 時間の10% など、厳密に限界値を設定することも出来る。