GNU/Linux >> Belajar Linux >  >> Linux

CentOS / RHEL 6:Cara menonaktifkan halaman Transparan Besar (THP)

Halaman Besar Transparan (THP) diaktifkan secara default di RHEL 6 untuk semua aplikasi. Kernel akan selalu berusaha memenuhi alokasi memori menggunakan halaman besar. Jika tidak ada halaman besar yang tersedia (misalnya karena tidak tersedianya memori yang terus menerus secara fisik) kernel akan kembali ke halaman 4KB biasa.

Halaman Besar Eksplisit V/s Halaman Besar Transparan

Mungkin ada dua jenis Halaman Besar dalam sistem:Halaman Besar Eksplisit yang dialokasikan secara eksplisit oleh parameter sysctl vm.nr_hugepages dan Halaman Besar Transparan yang dialokasikan secara otomatis oleh kernel.

Verifikasi apakah THP diaktifkan

“tuned.service” pada CentOS / RHEL 7 setel transparent_hugepage ke selalu secara default. Bahkan jika dinonaktifkan di baris perintah kernel grub, layanan yang disetel akan menyetelnya ke 'selalu ' selama boot. File /sys/kernel/mm/redhat_transparent_hugepage/enabled memberikan status THP saat ini (diaktifkan/dinonaktifkan). Nilai untuk /sys/kernel/mm/redhat_transparent_hugepage/enabled dapat berupa salah satu dari berikut ini:

always   -  always use THP
never    -  disable THP

Output perintah di bawah ini mengonfirmasi bahwa THP diaktifkan atau dinonaktifkan pada sistem.
Hasilkan saat THP diaktifkan

# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

Keluaran saat THP dinonaktifkan

# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

1. Untuk menonaktifkan THP saat boot

1. Tambahkan parameter transparent_hugepage=never ke baris perintah kernel di /etc/grub.conf:

# vim /etc/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux 6 (2.6.32-504.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/mapper/vg_os-lv_os rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_os/lv_os  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet transparent_hugepage=never
        initrd /initramfs-2.6.32-504.el6.x86_64.img

2. Tambahkan skrip kecil yang diberikan di bawah ini ke file /etc/rc.d/rc.local .

# vi /etc/rc.d/rc.local
....
if test −f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test −f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

3. Lakukan reboot sistem agar perubahan diterapkan.

# shutdown -r now

2. Untuk menonaktifkan THP saat runtime

Jalankan perintah berikut untuk menonaktifkan THP tanpa me-reboot sistem.

# echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
# echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
Catatan :Menjalankan perintah di atas hanya akan menghentikan pembuatan dan penggunaan THP baru. THP yang dibuat dan digunakan pada saat perintah di atas dijalankan tidak akan dibongkar ke halaman memori biasa. Untuk menghilangkan THP sepenuhnya, sistem harus di-boot ulang dengan THP dinonaktifkan saat boot.

Pemecahan Masalah

Jika Laman Besar Transparan (THP) masih belum dinonaktifkan, lanjutkan dan gunakan salah satu opsi di bawah ini.

1. Nonaktifkan layanan yang disetel/ktune

1. Nonaktifkan layanan yang disetel jika mengaktifkan kembali THP menggunakan salah satu dari perintah di bawah ini.

# service tuned stop
# chkconfig tuned off
# service ktune stop
# chkconfig ktune off

ATAU

# tuned-adm off
Catatan :Perintah tune-adm akan mengembalikan semua pengaturan Anda ke pengaturan sebelum disetel dimulai dan menonaktifkan layanan penyetelan agar tidak berjalan saat boot.

2. Pastikan ktune dan layanan yang disetel dinonaktifkan untuk memulai saat boot:

# chkconfig --list |egrep -i "ktune|tuned"
ktune           0:off   1:off   2:off   3:off    4:off    5:off    6:off
tuned           0:off   1:off   2:off    3:off    4:off    5:off    6:off

2. Buat profil yang disesuaikan dengan THP yang dinonaktifkan

1. Kami akan membuat versi khusus dari profil yang sedang berjalan. Versi yang disesuaikan akan menonaktifkan THP. Cari tahu profil mana yang aktif, buat salinannya. Dalam contoh berikut saat ini kami menggunakan profil kinerja throughput:

# tuned-adm  active
Current active profile: throughput-performance
Service tuned: enabled, running
Service ktune: enabled, running

2. Buat profil duplikat dari profil yang ada. Kami akan menggunakan profil baru untuk menonaktifkan THP. Untuk melakukan ini, salin semua konten dari direktori profil saat ini ke direktori profil yang baru dibuat.

# cd /etc/tune-profiles/
# cp -r /etc/tune-profiles/throughput-performance /etc/tune-profiles/nothp_profile

3. Kami sekarang akan menonaktifkan THP di profil baru dan mengaktifkan profil baru. Ubah baris yang ditunjukkan di bawah ini :
Dari :

# vi /etc/tune-profiles/nothp_profile/ktune.sh
set_transparent_hugepages always

Ke :

# vi /etc/tune-profiles/nothp_profile/ktune.sh
set_transparent_hugepages never

4. Aktifkan profil baru agar perubahan diterapkan.

# tuned-adm profile nothp_profile
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
always [never]
CentOS / RHEL 7 :Cara menonaktifkan halaman Transparan Besar (THP)


Linux
  1. Cara menonaktifkan NetworkManager di CentOS / RHEL 7

  2. CentOS / RHEL 7 :Cara menonaktifkan halaman Transparan Besar (THP)

  3. CentOS / RHEL 6,7 :Cara mengonfigurasi halaman besar

  1. Cara menonaktifkan IPv6 di CentOS / RHEL 5

  2. Cara menonaktifkan lvmetad di CentOS/RHEL

  3. Cara Menonaktifkan os-prober di CentOS/RHEL 7

  1. Cara Menonaktifkan IPv6 di CentOS/RHEL 8

  2. Cara menonaktifkan ACPI di CentOS/RHEL 7

  3. CentOS / RHEL :Cara menonaktifkan riwayat shell BASH