TUNED AND THP + READAHEAD ########### ## RHEL6 ## ########### ## Current readahead setting: sudo blockdev --getra /dev/sda 1024 ## Duplicate virtual-guest profile to edit: sudo cp -r /etc/tune-profiles/virtual-guest /etc/tune-profiles/virtual-guest-mongodb vi /etc/tune-profiles/virtual-guest-mongodb/ktune.sh ## Existing: start() { set_cpu_governor performance set_transparent_hugepages always multiply_disk_readahead 4 return 0 } ## Necessary THP changes + readahead change: start() { set_cpu_governor performance set_transparent_hugepages never echo 'never' | tee /sys/kernel/mm/transparent_hugepage/defrag > /dev/null echo 'no' | tee /sys/kernel/mm/transparent_hugepage/khugepaged/defrag > /dev/null multiply_disk_readahead 0 return 0 } ## Enable new profile: sudo tuned-adm profile virtual-guest-mongodb sudo blockdev --getra /dev/sda 0 ## Switch back to verify: sudo tuned-adm profile virtual-guest sudo blockdev --getra /dev/sda 1024 ############ ## RHEL 7 ## ############ ## Current readahead setting: sudo blockdev --getra /dev/sda 8192 ## Create new profile and configure: sudo mkdir /etc/tuned/virtual-guest-mongodb vi /etc/tuned/virtual-guest-mongodb/tuned.conf ## Add this content: [main] summary=MongoDB tuned virtual-guest profile description=MongoDB tuned profile that adjusts THP and readahead settings include=virtual-guest [vm] transparent_hugepages=never [disk] readahead=0 [script] script=disable_defrag.sh # Create disable_defrag.shj script to handle the other two THP settings that need to be disabled: vi /etc/tuned/virtual-guest-mongodb/disable_defrag.sh ## Add this content: #!/bin/sh . /usr/lib/tuned/functions start() { echo 'never' | tee /sys/kernel/mm/transparent_hugepage/defrag > /dev/null echo 0 | tee /sys/kernel/mm/transparent_hugepage/khugepaged/defrag > /dev/null return 0 } stop() { return 0 } process $@ ## Make this script executable: sudo chmod 755 /etc/tuned/virtual-guest-mongodb/disable_defrag.sh ## Enable new profile: sudo tuned-adm profile virtual-guest-mongodb sudo blockdev --getra /dev/sda 0 ## Switch back to verify: sudo tuned-adm profile virtual-guest sudo blockdev --getra /dev/sda 8192