Perintah Anda sedikit salah:echo
berjalan sebagai root tetapi pengalihan itu sendiri (>
) berjalan sebagai pengguna sehingga tidak dapat menulis /sys/
.
Perintah berikut berfungsi dengan baik keduanya pada container-vm (berbasis debian) dan gci (berbasis chromeos):
sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
Mempertahankan setelan ini di container-vm
Tambahkan parameter baris perintah kernel ini ke /etc/default/grub
(jangan lupa untuk menjalankan sudo update-grub
dan sudo reboot
setelahnya):
GRUB_CMDLINE_LINUX="... transparent_hugepage=never"
Mempertahankan setelan ini di gci
Pertama, menggunakan cloud console, salin template instance yang digunakan oleh kumpulan node.
Kedua, di bawah metadata ubah nilai untuk data pengguna:
#cloud-config
write_files:
- path: /etc/systemd/system/hugepage.service
permissions: 0644
owner: root
content: |
[Unit]
Description=Disable THP
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo never > /sys/kernel/mm/transparent_hugepage/enabled"
[Install]
WantedBy=kubernetes.target
...
runcmd:
- ...
- systemctl enable hugepage.service
- systemctl start kubernetes.target
Ketiga, ubah template instance menjadi yang baru dibuat:
gcloud compute instance-groups managed set-instance-template \
gke-YOUCLUSTER-YOURPOOL-grp \
--template=YOURNEWTEMPLATENAME \
--zone=...
Keempat, buat ulang instance:
gcloud compute instance-groups managed recreate-instances \
gke-YOUCLUSTER-YOURPOOL-grp \
--zone=... \
--instances=...
Instance akan kehilangan semua data dan datang dengan THP dinonaktifkan. Semua instance baru juga akan menonaktifkan THP (dalam kumpulan node ini).