Dårlig måde at håndtere tingene på :/proc
er skrivebeskyttet filsystem for at ændre det, kan du køre Docker i privilegeret tilstand, end du kan ændre det, efter at containeren blev startet.
Hvis du kører containeren i privilegeret tilstand, kan du deaktivere THP ved hjælp af disse kommandoer:
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
Korrekt måde :Sørg for, at du kører nyere versioner af Docker (opgrader om nødvendigt). run
underkommando har --sysctl mulighed:
$ docker run -ti --sysctl net.core.somaxconn=4096 --rm redis:alpine /bin/sh
[email protected]:/# sysctl net.core.somaxconn
net.core.somaxconn = 4096
...
Desværre :vm.overcommit_memory
er i øjeblikket ikke tilladt at indstille via --sysctl
paramter det samme gælder for THP (transparent_hugepage), dette er fordi de ikke er navneafstand. For at rette disse advarsler i en container, der kører på en Linux Host, kan du ændre dem direkte på værten. Her er de relaterede problemer:
- #19
- #55
Du behøver ikke privilegeret tilstand for den rigtige måde tilgang.