web-dev-qa-db-ja.com

CGroupsのメモリ制限が機能しない

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です。

3
maxdaniel98

GRUB構成 ;に小さなタイプミスがあります。 cgroupではなくcggroupがトリックを実行する必要があります:

 GRUB_CMDLINE_LINUX_DEFAULT = "cgroup_enable = memory swapaccount = 1" 
4
ckujau