CGroupsを使用してLXCコンテナーのメモリ使用量を制限しようとしていますが、メモリを制限できません。
# lxc-cgroup -n maxdaniel981 memory.limit_in_bytes 134217728
lxc_container: failed to assign '134217728' value to 'memory.limit_in_bytes' for 'maxdaniel981'
それから私は/proc/cgroups
を調べました:
# cat /proc/cgroups
#subsys_name hierarchy num_cgroups enabled
cpuset 2 3 1
cpu 3 3 1
cpuacct 3 3 1
memory 0 1 0
devices 4 3 1
freezer 5 3 1
net_cls 6 3 1
blkio 7 3 1
perf_event 8 3 1
net_prio 6 3 1
cgroups_memory
が無効になっているようですが、/etc/default/grub
でカーネルフラグを有効にし、update-grub
を使用してgrubを更新しました
# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="cggroup_enable=memory swapaccount=1"
GRUB_CMDLINE_LINUX="cggroup_enable=memory swapaccount=1"
CGroupはこのように/etc/fstab
にマウントされます。
cgroup /sys/fs/cgroup cgroup defaults 0 0
誰かがこの問題で私を助けることができますか? Debian Jessieを使用していますが、カーネルバージョンは3.16.0-4-AMD64です。
GRUB構成 ;に小さなタイプミスがあります。 cgroup
ではなくcggroup
がトリックを実行する必要があります:
GRUB_CMDLINE_LINUX_DEFAULT = "cgroup_enable = memory swapaccount = 1"