From 6d7319380cb821991b13a303790fc1b37d8c6c15 Mon Sep 17 00:00:00 2001 From: Nitish Tiwari Date: Fri, 1 Dec 2017 01:48:00 +0530 Subject: [PATCH] Add Transparent Hugepage information (#5246) Fixes #5242 --- docs/deployment/kernel-tuning/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/deployment/kernel-tuning/README.md b/docs/deployment/kernel-tuning/README.md index 85bc97811..22315a8cf 100644 --- a/docs/deployment/kernel-tuning/README.md +++ b/docs/deployment/kernel-tuning/README.md @@ -50,6 +50,14 @@ sysctl -w vm.dirty_background_ratio=1 sysctl -w vm.dirty_ratio=5 ``` +- *`Transparent Hugepage Support`*: This is a Linux kernel feature intended to improve performance by making more efficient use of processor’s memory-mapping hardware. But this may cause [problems](https://blogs.oracle.com/linux/performance-issues-with-transparent-huge-pages-thp) for non-optimized applications. As most Linux distributions set it to `enabled=always` by default, we recommend changing this to `enabled=madvise`. This will allow applications optimized for transparent hugepages to obtain the performance benefits, while preventing the associated problems otherwise. + +```sh +echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled +``` + +Also, set `transparent_hugepage=madvise` on your kernel command line (e.g. in /etc/default/grub) to persistently set this value. + ## Tuning Scheduler Proper scheduler configuration makes sure Minio process gets adequate CPU time. Here are the recommended scheduler settings