Immagina un'azienda che deve aggiungere correttamente le dimensioni a tutti i propri sistemi fin dall'inizio. Nella mia esperienza, questo è molto difficile. O lo sottodimensionerai e i tuoi clienti si lamenteranno delle prestazioni a un certo punto, oppure lo sovradimensionerai, e quindi la macchina rimarrà lì, al minimo, il che non è nemmeno ottimale. Questo è il motivo per cui i fornitori di hardware hanno escogitato risorse di aggiunta e rimozione a caldo.
Ciò consente a un sistema di aggiornare/declassare le CPU, la memoria e/oi dischi senza la necessità di uno spegnimento. Un KVM implementa una funzionalità simile per i suoi ospiti. Questo post descrive i passaggi per ridurre o limitare le CPU in un sistema CentOS/RHEL 5,6. Ci sono 2 modi in cui puoi ridurre le CPU:
- Online/Temporaneo (senza riavvio)
- Persistente (richiede un riavvio)
Online/Temporaneo (senza riavvio)
1. Conta il numero di CPU attualmente presenti nel sistema:
# grep "processor" /proc/cpuinfo processor : 0 processor : 1 processor : 2 processor : 3
Come puoi vedere, al momento abbiamo 4 CPU presenti sul sistema.
2. Per l'esempio di questo post, disabiliteremo le 2 CPU (cpu3 e cpu2).
# echo 0 > /sys/devices/system/cpu/cpu3/online # echo 0 > /sys/devices/system/cpu/cpu2/online
3. Verificare nuovamente il conteggio delle CPU. Puoi vedere solo 2 CPU presenti ora.
# grep "processor" /proc/cpuinfo processor : 0 processor : 1
4. Per riattivare le 2 CPU, eseguire i seguenti comandi:
# echo 1 > /sys/devices/system/cpu/cpu3/online # echo 1 > /sys/devices/system/cpu/cpu2/onlineNota :Questo metodo è online e le CPU vengono disabilitate immediatamente. Ma il metodo non persiste tra i riavvii.
Persistente (richiede il riavvio)
Per modifiche permanenti, puoi utilizzare uno dei 2 metodi indicati di seguito:
1. Utilizzo del parametro maxcpus
Aggiungi il parametro del kernel maxcpus=N in /etc/grub.conf . Si prega di eseguire un backup della configurazione di grub prima di apportare le modifiche.
# 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. Utilizzo del parametro nr_cpus
Aggiungi il parametro del kernel nr_cpus=N in /etc/grub2.cfg . Si prega di eseguire un backup della configurazione di grub prima di apportare le modifiche.
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 :Non è possibile disabilitare CPU0Come abilitare/disabilitare le CPU (limitazione del conteggio della CPU) in CentOS / RHEL