diff --git a/group_vars/all.sample b/group_vars/all.sample index 8d4d10119..7eeb4ad3d 100644 --- a/group_vars/all.sample +++ b/group_vars/all.sample @@ -283,4 +283,4 @@ dummy: # - { name: fs.file-max, value: 26234859 } # - { name: vm.zone_reclaim_mode, value: 0 } # - { name: vm.vfs_cache_pressure, value: 50 } -# - { name: vm.min_free_kbytes, value: 4194303 } +# - { name: vm.min_free_kbytes, value: "{{ vm_min_free_kbytes }}" } diff --git a/roles/ceph-common/defaults/main.yml b/roles/ceph-common/defaults/main.yml index d8bb1f380..cfe014bcc 100644 --- a/roles/ceph-common/defaults/main.yml +++ b/roles/ceph-common/defaults/main.yml @@ -295,7 +295,7 @@ os_tuning_params: - { name: fs.file-max, value: 26234859 } - { name: vm.zone_reclaim_mode, value: 0 } - { name: vm.vfs_cache_pressure, value: 50 } - - { name: vm.min_free_kbytes, value: 4194303 } + - { name: vm.min_free_kbytes, value: "{{ vm_min_free_kbytes }}" } ########## diff --git a/roles/ceph-common/tasks/misc/system_tuning.yml b/roles/ceph-common/tasks/misc/system_tuning.yml index 511d8a663..8aeb31270 100644 --- a/roles/ceph-common/tasks/misc/system_tuning.yml +++ b/roles/ceph-common/tasks/misc/system_tuning.yml @@ -16,6 +16,14 @@ failed_when: false when: disable_swap +- name: get default vm.min_free_kbytes + command: sysctl -b vm.min_free_kbytes + register: default_vm_min_free_kbytes + +- name: define vm.min_free_kbytes + set_fact: + vm_min_free_kbytes: "{{ 4194303 if ansible_memtotal_mb >= 49152 else default_vm_min_free_kbytes.stdout }}" + - name: apply operating system tuning sysctl: name: "{{ item.name }}"