Imagine una empresa que tiene que agregar dimensión correctamente a todos sus sistemas desde el principio. En mi experiencia, esto es muy difícil. O la subdimensionará y sus clientes se quejarán del rendimiento en algún momento, o la sobredimensionará y luego la máquina se quedará allí, inactiva, lo que tampoco es óptimo. Esta es la razón por la que los proveedores de hardware han creado recursos para agregar y quitar en caliente.
Esto permite que las CPU, la memoria y/o los discos de un sistema se actualicen/rebajen sin necesidad de apagarlo. Un KVM implementa una funcionalidad similar para sus invitados. Esta publicación describe los pasos para reducir o limitar las CPU en los sistemas CentOS/RHEL 5,6. Hay 2 formas en las que puede reducir las CPU:
- En línea/Temporal (sin reiniciar)
- Persistente (requiere reiniciar)
En línea/Temporal (sin reiniciar)
1. Cuente la cantidad de CPU presentes actualmente en el sistema:
# grep "processor" /proc/cpuinfo processor : 0 processor : 1 processor : 2 processor : 3
Como puede ver, actualmente tenemos 4 CPU presentes en el sistema.
2. Para el ejemplo de esta publicación, deshabilitaremos las 2 CPU (cpu3 y cpu2).
# echo 0 > /sys/devices/system/cpu/cpu3/online # echo 0 > /sys/devices/system/cpu/cpu2/online
3. Vuelva a verificar el recuento de CPU. Ahora solo puede ver 2 CPU presentes.
# grep "processor" /proc/cpuinfo processor : 0 processor : 1
4. Para volver a habilitar las 2 CPU, ejecute los siguientes comandos:
# echo 1 > /sys/devices/system/cpu/cpu3/online # echo 1 > /sys/devices/system/cpu/cpu2/onlineNota :este método está en línea y las CPU se desactivan inmediatamente. Pero el método no persiste entre reinicios.
Persistente (requiere reinicio)
Para cambios permanentes, puede usar cualquiera de los 2 métodos mencionados a continuación:
1. Usando el parámetro maxcpus
Agregue el parámetro del núcleo maxcpus=N en /etc/grub.conf . Realice una copia de seguridad de la configuración de grub antes de realizar los cambios.
# vi /etc/grub.conf linux16 /vmlinuz-3.8.13-55.1.6.el7uek.x86_64 root=/dev/mapper/ol-root ro crashkernel=auto rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet maxcpus=N initrd16 /initramfs-3.8.13-55.1.6.el7uek.x86_64.img
2. Usando el parámetro nr_cpus
Agregue el parámetro del kernel nr_cpus=N en /etc/grub2.cfg . Realice una copia de seguridad de la configuración de grub antes de realizar los cambios.
linux16 /vmlinuz-3.8.13-55.1.6.el7uek.x86_64 root=/dev/mapper/ol-root ro crashkernel=auto rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet nr_cpus=N initrd16 /initramfs-3.8.13-55.1.6.el7uek.x86_64.imgNota :No es posible deshabilitar la CPU0Cómo habilitar/deshabilitar las CPU (limitación del número de CPU) en CentOS/RHEL