GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Mengaktifkan / Menonaktifkan CPU (Membatasi jumlah CPU) di CentOS / RHEL

Pertanyaan

Bagaimana prosedur untuk menonaktifkan/mengaktifkan prosesor (on the fly) pada sistem dengan multiprosesor? Bagaimana cara membatasi server ke jumlah CPU “N” saja?

Jawab

Ada tiga cara untuk membatasi jumlah CPU di CentOS/RHEL.

  • Menggunakan parameter maxcpus (RHEL/CentOS 6)
  • Menggunakan parameter nr_cpus (RHEL/CentOS 6,7)
  • Menonaktifkan CPU Online (RHEL/CentOS 6,7)

1. Menggunakan parameter maxcpus

Metode ini bekerja dengan sistem RHEL/CentOS 6. Ini mungkin gagal jika Anda menggunakannya di sistem RHEL/CentOS 7. Meskipun dalam versi sistem RHEL 7 yang lebih baru, bug ini telah diperbaiki.

Anda dapat menambahkan parameter kernel maxcpus=N di /boot/grub/grub.conf atau ke baris kernel saat boot. Misalnya untuk membatasi server agar hanya menggunakan 2 CPU gunakan entri di bawah ini dalam file

# 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
CATATAN :Tidak mungkin untuk menonaktifkan CPU0 pada sistem Red Hat Enterprise Linux.

Ketika maxcpus digunakan, itu akan mengambil CPU dari semua CPU fisik yang tersedia. Misalnya pada sistem dengan dua CPU inti ganda, maxcpus=2 akan mengambil satu CPU dari setiap CPU fisik. Untuk mengetahui ID CPU fisik yang digunakan:

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

2. Menggunakan parameter nr_cpus

a. Untuk CentOS/RHEL 6
Tambahkan parameter kernel nr_cpus=N di /boot/grub/grub.conf atau ke baris kernel saat boot. Misalnya, entri di bawah ini akan membatasi server hanya untuk 2 CPU.

# 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. Untuk CentOS/RHEL 7
1. Untuk sistem RHEL 7 tambahkan nr_cpus=N parameter ke “GRUB_CMDLINE_LINUX ” baris di “/etc/sysconfig/grub ” seperti yang ditunjukkan di bawah ini.

# 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. Gunakan grub2-mkconfig perintah untuk membuat ulang /boot/grub2/grub.cfg berkas.

# 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. Verifikasi entri parameter nr_cpu di file konfigurasi grub.

# 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. Menonaktifkan CPU Online

Menonaktifkan inti CPU
1. Saat runtime dimungkinkan untuk menonaktifkan core cpu dengan perintah berikut. Misalnya untuk sistem 4 inti, kita dapat menonaktifkan 3 CPU seperti yang ditunjukkan di bawah ini.

# 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. Untuk memverifikasi apakah Anda telah menonaktifkan 3 inti dan hanya tinggal 1 inti yang diaktifkan, gunakan perintah di bawah ini.

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

Mengaktifkan kembali inti CPU
1. Core cpu dapat diaktifkan kembali dengan perintah di bawah ini.

# 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. Verifikasi lagi untuk 4 core yang diaktifkan di /proc/cpuinfo.

# grep "processor" /proc/cpuinfo
 processor       : 0
 processor       : 1
 processor       : 2
 processor       : 3
CATATAN :Pengaturan ini tidak tetap selama reboot.


Cent OS
  1. CentOS / RHEL 7 :Cara memulai / Menghentikan atau mengaktifkan / menonaktifkan Firewalld

  2. Cara menonaktifkan IPv6 di CentOS / RHEL 7

  3. Cara Menonaktifkan NUMA di CentOS / RHEL 6,7

  1. Cara mengaktifkan IPv6 di CentOS / RHEL 6

  2. CentOS / RHEL 7 :Cara mengaktifkan atau menonaktifkan pembaruan otomatis (melalui packagekit)

  3. Cara Mengaktifkan IPv6 di CentOS/RHEL 8

  1. Cara menonaktifkan NetworkManager di CentOS / RHEL 7

  2. CentOS / RHEL 6,7 :Cara mengaktifkan atau menonaktifkan layanan XDMCP (GDM)

  3. Cara Menonaktifkan IPv6 di CentOS/RHEL 8