OpenVZ utiliza un sistema de “unidades de CPU” para distribuir el tiempo de la CPU entre los contenedores. A más unidades se asignen a un contenedor, más tiempo de CPU recibe.
Para distribuir de manera justa los recursos de la CPU entre los contenedores OpenVZ, puedes utilizar la herramienta “vzcpucheck” para determinar cuántas unidades de CPU están disponibles en tu sistema.
Luego, si quieres distribuir esos recursos de manera equitativa entre, por ejemplo, tres contenedores, podrías dividir el número total de unidades de CPU por tres y asignar esa cantidad de unidades a cada contenedor usando el comando “vzctl set”.
Aquí hay un ejemplo de cómo podrías hacerlo:
1. Establezca el número total de unidades de CPU disponibles en su sistema. Este número dependerá de su hardware en específico. Vamos a asumir que tenemos 4000 unidades de CPU disponibles.
~~~bash
vzcpucheck
CPU Units: 4000
~~~
2. Divide ese número entre el número de contenedores que tienes. En este caso, vamos a asumir que tienes tres contenedores, así que 4000 dividido por 3 es alrededor de 1333.
3. Asigna ese número de unidades de CPU a cada contenedor. Usarías el comando “vzctl set” para hacer esto. Aquí hay un ejemplo de cómo asignarías 1333 unidades de CPU al contenedor con ID 101:
~~~bash
vzctl set 101 —cpuunits 1333 —save
~~~
4. Repite este proceso para cada contenedor, ajustando el ID del contenedor como sea necesario.
De esta manera, estás asegurando que cada contenedor recibe una porción igual de tiempo de CPU. Esto puede no ser ideal para todas las situaciones, pero es un lugar para empezar si estás buscando distribuir los recursos de CPU de manera justa.
Recuerda que estos valores pueden ser ajustados según sea necesario. Si encuentras que un contenedor necesita más tiempo de CPU que los demás, puedes asignarle más unidades de CPU.