物事を処理する悪い方法 :/proc
は読み取り専用のファイルシステムであり、コンテナの起動後に変更するよりも、Dockerを特権モードで実行できます。
コンテナを特権モードで実行している場合は、次のコマンドを使用してTHPを無効にできます。
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
適切な方法 :新しいバージョンのDockerを実行していることを確認してください(必要に応じてアップグレードしてください)。 run
サブコマンドには--sysctlオプションがあります:
$ docker run -ti --sysctl net.core.somaxconn=4096 --rm redis:alpine /bin/sh
[email protected]:/# sysctl net.core.somaxconn
net.core.somaxconn = 4096
...
残念ながら :vm.overcommit_memory
現在、--sysctl
を介して設定することは許可されていません 同じパラメータがTHP(transparent_hugepage)にも当てはまります。これは、名前が付けられていないためです。したがって、Linuxホストで実行されているコンテナでこれらの警告を修正するには、ホストで直接変更できます。ここに関連する問題:
- #19
- #55
適切な方法には特権モードは必要ありません アプローチ。