Slechte manier om met dingen om te gaan :/proc
is een alleen-lezen bestandssysteem om het aan te passen. U kunt Docker in geprivilegieerde modus uitvoeren dan dat u het kunt wijzigen nadat de container is gestart.
Als u de container in de bevoorrechte modus uitvoert, kunt u THP uitschakelen met deze opdrachten:
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
Goede manier :zorg ervoor dat u nieuwere versies van Docker gebruikt (upgrade indien nodig). run
subcommando heeft de --sysctl optie:
$ docker run -ti --sysctl net.core.somaxconn=4096 --rm redis:alpine /bin/sh
[email protected]:/# sysctl net.core.somaxconn
net.core.somaxconn = 4096
...
Helaas :vm.overcommit_memory
kan momenteel niet worden ingesteld via --sysctl
paramter hetzelfde geldt voor THP (transparent_hugepage), dit komt omdat ze geen namespaced hebben. Dus om deze waarschuwing op te lossen in een container die op een Linux-host draait, kun je ze direct op de host wijzigen. Hier de gerelateerde problemen:
- #19
- #55
Je hebt geen bevoorrechte modus nodig voor de juiste manier benadering.