Stellen Sie sich vor, ein Unternehmen müsste von Anfang an alle seine Systeme korrekt dimensionieren. Das ist meiner Erfahrung nach sehr schwierig. Entweder du unterdimensionierst sie, und deine Kunden beschweren sich irgendwann über die Leistung, oder du überdimensionierst sie, und dann steht die Maschine im Leerlauf herum, was auch nicht optimal ist. Aus diesem Grund haben Hardwareanbieter Hot-Add- und Hot-Remove-Ressourcen entwickelt.
Dadurch können CPUs, Arbeitsspeicher und/oder Festplatten eines Systems aktualisiert/heruntergestuft werden, ohne dass ein Herunterfahren erforderlich ist. Ein KVM implementiert eine ähnliche Funktionalität für seine Gäste. Dieser Beitrag beschreibt die Schritte zum Reduzieren oder Begrenzen der CPUs in einem CentOS/RHEL 5,6-System. Es gibt 2 Möglichkeiten, wie Sie die CPUs reduzieren können:
- Online/temporär (ohne Neustart)
- Persistent (erfordert einen Neustart)
Online/temporär (ohne Neustart)
1. Zählen Sie die Anzahl der derzeit im System vorhandenen CPUs:
# grep "processor" /proc/cpuinfo processor : 0 processor : 1 processor : 2 processor : 3
Wie Sie sehen können, sind derzeit 4 CPUs auf dem System vorhanden.
2. Für das Beispiel dieses Posts werden wir die 2 CPUs (cpu3 und cpu2) deaktivieren.
# echo 0 > /sys/devices/system/cpu/cpu3/online # echo 0 > /sys/devices/system/cpu/cpu2/online
3. Überprüfen Sie die Anzahl der CPUs erneut. Sie können jetzt nur 2 vorhandene CPUs sehen.
# grep "processor" /proc/cpuinfo processor : 0 processor : 1
4. Um die beiden CPUs wieder zu aktivieren, führen Sie die folgenden Befehle aus:
# echo 1 > /sys/devices/system/cpu/cpu3/online # echo 1 > /sys/devices/system/cpu/cpu2/onlineHinweis :Diese Methode ist online und die CPUs werden sofort deaktiviert. Die Methode bleibt jedoch nicht über Neustarts hinweg bestehen.
Permanent (Neustart erforderlich)
Für dauerhafte Änderungen können Sie eine der beiden unten genannten Methoden verwenden:
1. Verwendung des maxcpus-Parameters
Fügen Sie den Kernelparameter maxcpus=N hinzu in /etc/grub.conf . Bitte erstellen Sie eine Sicherungskopie der Grub-Konfiguration, bevor Sie die Änderungen vornehmen.
# 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. Verwendung des nr_cpus-Parameters
Fügen Sie den Kernel-Parameter nr_cpus=N hinzu in /etc/grub2.cfg . Bitte erstellen Sie eine Sicherungskopie der Grub-Konfiguration, bevor Sie die Änderungen vornehmen.
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.imgHinweis :Es ist nicht möglich, die CPU zu deaktivieren0So aktivieren/deaktivieren Sie CPUs (CPU-Anzahl begrenzen) in CentOS/RHEL