Cattivo modo di gestire le cose :/proc
è un filesystem di sola lettura per modificarlo è possibile eseguire Docker in modalità privilegiata rispetto a quando è possibile modificarlo dopo l'avvio del contenitore.
Se esegui il contenitore in modalità privilegiata, puoi disabilitare THP utilizzando questi comandi:
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
Modo corretto :assicurati di eseguire versioni più recenti di Docker (aggiorna se necessario). run
il sottocomando ha l'opzione --sysctl:
$ docker run -ti --sysctl net.core.somaxconn=4096 --rm redis:alpine /bin/sh
[email protected]:/# sysctl net.core.somaxconn
net.core.somaxconn = 4096
...
Purtroppo :vm.overcommit_memory
al momento non è consentito impostare tramite --sysctl
lo stesso parametro vale per THP (transparent_hugepage), questo perché non hanno namespace. Pertanto, per correggere questi avvisi in un contenitore in esecuzione su un host Linux, è possibile modificarli direttamente sull'host. Qui i relativi Problemi:
- #19
- #55
Non è necessaria la modalità privilegiata per il modo corretto approccio.