Zły sposób na radzenie sobie z rzeczami :/proc
jest systemem plików tylko do odczytu, aby go zmodyfikować, możesz uruchomić Docker w trybie uprzywilejowanym, niż możesz go modyfikować po uruchomieniu kontenera.
Jeśli uruchamiasz kontener w trybie uprzywilejowanym, możesz wyłączyć THP za pomocą tych poleceń:
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
Właściwy sposób :Upewnij się, że korzystasz z nowszych wersji Dockera (w razie potrzeby uaktualnij). run
podpolecenie ma opcję --sysctl:
$ docker run -ti --sysctl net.core.somaxconn=4096 --rm redis:alpine /bin/sh
[email protected]:/# sysctl net.core.somaxconn
net.core.somaxconn = 4096
...
Niestety :vm.overcommit_memory
obecnie nie można ustawić za pomocą --sysctl
parametr to samo dotyczy THP (transparent_hugepage), ponieważ nie mają one przestrzeni nazw. Tak więc, aby naprawić te ostrzeżenia w kontenerze uruchomionym na hoście Linux, możesz je zmienić bezpośrednio na hoście. Tutaj powiązane problemy:
- #19
- #55
Nie potrzebujesz trybu uprzywilejowanego, aby właściwy sposób podejście.