Merge pull request #166 from boutetnico/thp

Avoid errors when disabling THP
This commit is contained in:
Sergei Antipov 2019-06-03 23:27:45 -04:00 committed by GitHub
commit e5caa291b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 36 additions and 19 deletions

View File

@ -6,14 +6,9 @@ Before=mongodb.service
[Service]
Type=oneshot
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled'
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag'
ExecStart=-/bin/bash -c 'echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag'
ExecStart=-/bin/bash -c 'echo 0 > /sys/kernel/mm/redhat_transparent_hugepage/khugepaged/defrag'
ExecStart=-/bin/bash -c 'echo no > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag'
ExecStart=-/bin/bash -c 'echo no > /sys/kernel/mm/redhat_transparent_hugepage/khugepaged/defrag'
[Install]
#WARN: check service name on your system

View File

@ -0,0 +1,16 @@
[Unit]
Description="Disable Transparent Hugepage before MongoDB boots"
#WARN: check service name on your system
# If you are using MongoDB Cloud, service name is "mongodb-mms-automation-agent.service"
Before=mongodb.service
[Service]
Type=oneshot
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'
ExecStart=-/bin/bash -c 'echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag'
[Install]
#WARN: check service name on your system
# If you are using MongoDB Cloud, service name is "mongodb-mms-automation-agent.service"
RequiredBy=mongodb.service

View File

@ -0,0 +1,16 @@
[Unit]
Description="Disable Transparent Hugepage before MongoDB boots"
#WARN: check service name on your system
# If you are using MongoDB Cloud, service name is "mongodb-mms-automation-agent.service"
Before=mongodb.service
[Service]
Type=oneshot
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled'
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag'
ExecStart=-/bin/bash -c 'echo 0 > /sys/kernel/mm/redhat_transparent_hugepage/khugepaged/defrag'
[Install]
#WARN: check service name on your system
# If you are using MongoDB Cloud, service name is "mongodb-mms-automation-agent.service"
RequiredBy=mongodb.service

View File

@ -1,10 +0,0 @@
#!/bin/bash
if [ -d /sys/kernel/mm/transparent_hugepage ]; then
thp_path=/sys/kernel/mm/transparent_hugepage
else
return 0
fi
echo 'never' > ${thp_path}/enabled
echo 'never' > ${thp_path}/defrag

View File

@ -1,3 +0,0 @@
kernel/mm/transparent_hugepage/khugepaged/defrag = 0
kernel/mm/transparent_hugepage/defrag = never
kernel/mm/transparent_hugepage/enabled = never

View File

@ -1,11 +1,14 @@
---
- name: Create disable transparent hugepages systemd service file
copy:
src: disable-transparent-hugepages.service
src: "{{ item }}"
dest: /etc/systemd/system/disable-transparent-hugepages.service
owner: root
group: root
mode: 0644
with_first_found:
- "disable-transparent-hugepages.{{ ansible_distribution | lower }}.service"
- "disable-transparent-hugepages.{{ ansible_os_family | lower }}.service"
- name: Enable disable-transparent-hugepages.service
systemd: