GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So aktivieren / deaktivieren Sie CPUs (CPU-Anzahl begrenzen) in CentOS / RHEL

Frage

Was ist das Verfahren zum Deaktivieren/Aktivieren von Prozessoren (on the fly) auf Systemen mit Multiprozessoren? Wie beschränkt man den Server auf nur „N“ CPUs?

Antwort

Es gibt drei Möglichkeiten, die Anzahl der CPUs in CentOS/RHEL zu beschränken.

  • Verwendung des maxcpus-Parameters (RHEL/CentOS 6)
  • Verwendung des nr_cpus-Parameters (RHEL/CentOS 6,7)
  • CPU Online deaktivieren (RHEL/CentOS 6,7)

1. Verwendung des maxcpus-Parameters

Diese Methode funktioniert mit RHEL/CentOS 6-Systemen. Es kann fehlschlagen, wenn Sie es in RHEL/CentOS 7-Systemen verwenden. Obwohl dieser Fehler in der neueren Version des RHEL 7-Systems behoben wurde.

Sie können den Kernelparameter maxcpus=N hinzufügen in /boot/grub/grub.conf oder zur Kernel-Zeile beim Booten. Um beispielsweise den Server auf die Verwendung von nur 2 CPUs zu beschränken, verwenden Sie den folgenden Eintrag in der Datei

# vi /boot/grub/grub.conf
...
title Red Hat Enterprise Linux Server (2.6.18-238.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet maxcpus=3
    initrd /initrd-2.6.18-238.el5.img
HINWEIS :Es ist nicht möglich, CPU0 auf Red Hat Enterprise Linux-Systemen zu deaktivieren.

Wenn maxcpus verwendet wird, werden die CPUs von allen verfügbaren physischen CPUs verwendet. Auf einem System mit zwei Dual-Core-CPUs beispielsweise nimmt maxcpus=2 eine CPU von jeder physischen CPU. Um die verwendeten physischen CPU-IDs zu kennen:

# cat /sys/devices/system/cpu/cpu*/topology/physical_package_id

2. Verwendung des nr_cpus-Parameters

a. Für CentOS/RHEL 6
Kernel-Parameter nr_cpus=N hinzufügen in /boot/grub/grub.conf oder zur Kernel-Zeile beim Booten. Beispielsweise beschränkt der folgende Eintrag den Server auf nur 2 CPUs.

# vi /boot/grub/grub.conf
title Red Hat Enterprise Linux Server (2.6.18-238.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet nr_cpus=2
    initrd /initrd-2.6.18-238.el5.img

b. Für CentOS/RHEL 7
1. Fügen Sie für RHEL 7-Systeme nr_cpus=N hinzu Parameter zum „GRUB_CMDLINE_LINUX “-Zeile in „/etc/sysconfig/grub ” wie unten gezeigt.

# cat /etc/default/grub 
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial --speed=115200"
GRUB_CMDLINE_LINUX="console=ttyS0,115200 console=tty0 vconsole.font=latarcyrheb-sun16 crashkernel=auto nr_cpus=2"
GRUB_DISABLE_RECOVERY="true"

2. Verwenden Sie die grub2-mkconfig Befehl zum Neugenerieren der /boot/grub2/grub.cfg Datei.

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.21.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.21.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-693.17.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.17.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-693.11.6.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.11.6.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-693.11.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.11.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-693.5.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.5.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-f9afeb75a5a382dce8269887a67fbf58
Found initrd image: /boot/initramfs-0-rescue-f9afeb75a5a382dce8269887a67fbf58.img
done

3. Überprüfen Sie den Eintrag des Parameters nr_cpu in der Grub-Konfigurationsdatei.

# grep linux16 /boot/grub2/grub.cfg
	linux16 /boot/vmlinuz-3.10.0-693.21.1.el7.x86_64 root=UUID=0f790447-ebef-4ca0-b229-d0aa1985d57f ro console=ttyS0,115200 console=tty0 vconsole.font=latarcyrheb-sun16 crashkernel=auto nr_cpus=2 
...

3. CPU Online deaktivieren

CPU-Kerne deaktivieren
1. Zur Laufzeit ist es möglich, CPU-Kerne mit den folgenden Befehlen zu deaktivieren. Beispielsweise können wir für ein 4-Kern-System 3 CPUs wie unten gezeigt deaktivieren.

# echo 0 > /sys/devices/system/cpu/cpu3/online
# echo 0 > /sys/devices/system/cpu/cpu2/online
# echo 0 > /sys/devices/system/cpu/cpu1/online

2. Um zu überprüfen, ob Sie 3 Kerne deaktiviert haben und nur noch 1 Kern aktiviert ist, verwenden Sie den folgenden Befehl.

# grep "processor" /proc/cpuinfo
processor	: 0

CPU-Kerne werden wieder aktiviert
1. Die CPU-Kerne können mit dem folgenden Befehl wieder aktiviert werden.

# echo 1 > /sys/devices/system/cpu/cpu3/online
# echo 1 > /sys/devices/system/cpu/cpu2/online
# echo 1 > /sys/devices/system/cpu/cpu1/online

2. Überprüfen Sie erneut für 4 Kerne aktivierte Kerne in /proc/cpuinfo.

# grep "processor" /proc/cpuinfo
 processor       : 0
 processor       : 1
 processor       : 2
 processor       : 3
HINWEIS :Diese Einstellungen bleiben beim Neustart nicht bestehen.


Cent OS
  1. CentOS / RHEL 7 :So starten / stoppen oder aktivieren / deaktivieren Sie Firewalld

  2. So deaktivieren Sie IPv6 unter CentOS / RHEL 7

  3. CentOS / RHEL 6,7 :So aktivieren oder deaktivieren Sie den XDMCP-Dienst (GDM)

  4. So aktivieren Sie IPv6 auf CentOS / RHEL 7

  5. So deaktivieren Sie IPv6 unter CentOS / RHEL 5

So aktivieren Sie SELinux in CentOS/RHEL 7

RHEL 8 / CentOS 8 aktiviert/deaktiviert IPv6

So deaktivieren Sie IPv6 unter CentOS 7 / RHEL 7

So deaktivieren Sie IPv6 unter CentOS 8 / RHEL 8

So aktivieren Sie IPv6 auf CentOS / RHEL 6

So aktivieren/deaktivieren Sie SELinux-Modi in RHEL/CentOS