Merge pull request #82656 from odinuge/hugetlb-drop-caches

Compact memory before requesting huge pages
This commit is contained in:
Kubernetes Prow Robot 2019-10-18 12:37:08 -07:00 committed by GitHub
commit edfffffdac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -18,6 +18,7 @@ package e2e_node
import (
"fmt"
"os"
"os/exec"
"strconv"
"strings"
@ -85,6 +86,15 @@ func makePodToVerifyHugePages(baseName string, hugePagesLimit resource.Quantity)
// configureHugePages attempts to allocate 10Mi of 2Mi hugepages for testing purposes
func configureHugePages() error {
// Compact memory to make bigger contiguous blocks of memory available
// before allocating huge pages.
// https://www.kernel.org/doc/Documentation/sysctl/vm.txt
if _, err := os.Stat("/proc/sys/vm/compact_memory"); err == nil {
err := exec.Command("/bin/sh", "-c", "echo 1 > /proc/sys/vm/compact_memory").Run()
if err != nil {
return err
}
}
err := exec.Command("/bin/sh", "-c", "echo 5 > /proc/sys/vm/nr_hugepages").Run()
if err != nil {
return err