Má maneira de lidar com as coisas :
/proc
é um sistema de arquivos somente leitura para modificá-lo, você pode executar o Docker no modo privilegiado do que pode modificá-lo após o início do contêiner. Se estiver executando o contêiner no modo privilegiado, você pode desabilitar o THP usando estes comandos:
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
Maneira correta :Certifique-se de executar as versões mais recentes do Docker (atualize, se necessário).
run
subcomando tem a opção --sysctl:$ docker run -ti --sysctl net.core.somaxconn=4096 --rm redis:alpine /bin/sh
[email protected]:/# sysctl net.core.somaxconn
net.core.somaxconn = 4096
...
Infelizmente :
vm.overcommit_memory
atualmente não tem permissão para ser definido via --sysctl
parâmetro o mesmo se aplica ao THP (transparent_hugepage), isso ocorre porque eles não são namespaced. Assim, para corrigir esses avisos em um contêiner rodando em um host Linux, você pode alterá-los diretamente no host. Aqui os problemas relacionados:- #19
- #55
Você não precisa do modo privilegiado para a maneira correta abordagem.