आपका आदेश थोड़ा गलत है:echo
रूट के रूप में चलता है लेकिन रीडायरेक्शन ही (>
) उपयोगकर्ता के रूप में चलता है इसलिए यह नहीं लिख सकता /sys/
।
निम्न आदेश ठीक काम करता है दोनों कंटेनर-वीएम (डेबियन आधारित) और जीसीआई (क्रोमो आधारित) पर:
sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
कंटेनर-vm पर इस सेटिंग को बनाए रखना
इस कर्नेल कमांड लाइन पैरामीटर को /etc/default/grub
. में जोड़ें (sudo update-grub
run चलाना न भूलें) और sudo reboot
बाद में):
GRUB_CMDLINE_LINUX="... transparent_hugepage=never"
gci पर इस सेटिंग को बनाए रखना
सबसे पहले, क्लाउड कंसोल का उपयोग करके नोड पूल द्वारा उपयोग किए जा रहे इंस्टेंस टेम्पलेट की प्रतिलिपि बनाएँ।
दूसरा, मेटाडेटा के अंतर्गत उपयोगकर्ता डेटा का मान बदलें:
#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
तीसरा, इंस्टेंस टेम्प्लेट को नए बनाए गए टेम्पलेट में बदलें:
gcloud compute instance-groups managed set-instance-template \
gke-YOUCLUSTER-YOURPOOL-grp \
--template=YOURNEWTEMPLATENAME \
--zone=...
आगे, इंस्टेंस को फिर से बनाएँ:
gcloud compute instance-groups managed recreate-instances \
gke-YOUCLUSTER-YOURPOOL-grp \
--zone=... \
--instances=...
उदाहरण सभी डेटा खो देंगे और THP अक्षम के साथ आएं। सभी नए उदाहरणों में THP भी अक्षम हो जाएगा (इस नोड पूल में)।