我正在使用docker來容納一堆服務。有時候,集裝箱化的服務大量交換。我通過我的主機系統上的sysctl將vm.swappiness
更改爲1
。但是docker的內存cgroup仍舊有60(默認)值。因此,所有特定容器的cgroup都具有與父級相同的值。更改Docker容器的swappiness
sysctl vm.swappiness
> vm.swappiness = 1
cat /sys/fs/cgroup/memory/docker/memory.swappiness
> 60
cat /sys/fs/cgroup/memory/docker/${CONTAINER_ID}/memory.swappiness
> 60
所有嘗試swappiness手動改變(通過回送所希望的值成memory.swappiness
文件)失敗,permission denied
。
主題:如何限制容器swappiness?
我使用ubuntu 12.04
內核3.13
,我的碼頭工人的版本是1.1.2
與本地執行的驅動程序(不LXC)的0.2
版本。內核加載了cgroup_enable=memory swapaccount=1
。