ansible-playbooks/roles/valkey/tasks/kernel-tuning.yml
2026-01-04 11:21:15 +01:00

37 lines
1.1 KiB
YAML

---
- name: Configure kernel memory overcommit
ansible.posix.sysctl:
name: vm.overcommit_memory
value: "1"
state: present
sysctl_set: true
reload: true
- name: Check if transparent_hugepage is set in GRUB
ansible.builtin.shell: grep -E '^GRUB_CMDLINE_LINUX_DEFAULT=.*transparent_hugepage=' /etc/default/grub
register: thp_check
changed_when: false
failed_when: false
- name: Add transparent_hugepage if not present
ansible.builtin.lineinfile:
path: /etc/default/grub
regexp: '^(GRUB_CMDLINE_LINUX_DEFAULT="[^"]*)"$'
line: '\1 transparent_hugepage=madvise"'
backrefs: true
when: thp_check.rc != 0
notify:
- Update GRUB
- Warn user about reboot requirement
- name: Check current THP runtime setting
ansible.builtin.shell: cat /sys/kernel/mm/transparent_hugepage/enabled
register: current_thp
changed_when: false
- name: Disable THP at runtime (if not already set to madvise)
ansible.builtin.shell: |
echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
when: "'[madvise]' not in current_thp.stdout"