6

Debian 6にLXC(0.7.4.1)をインストールしようとしていますが、lxc-checkconfigを実行すると、「Cgroup memory controller:missing」が表示されます。

root@lxcsrv01:~# lxc-checkconfig
Kernel config /proc/config.gz not found, looking in other places...
Found kernel config file /boot/config-2.6.32-5-686
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled

--- Control groups ---
Cgroup: enabled
Cgroup namespace: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: missing
Cgroup cpuset: enabled

--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: enabled
enabled

Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

グーグル検索によると、カーネルを再コンパイルする必要がありますが、方法がわかりません。誰かが私にこれを行う方法を説明できますか?

よろしくお願いします

4

3 に答える 3

5

Debian6のカーネルにはメモリcgroup機能がありません。ただし、それなしでlxcを実行できます。

メモリcgroupが必要な場合は、バックポートから新しいカーネルを簡単にインストールできます。

  1. バックポートのapt-lineを追加する
  2. 「apt-getinstalllinux-image-3.2.0-0.bpo.4-amd64」(またはi386の場合は-686)を実行します
  3. カーネルブートオプション「cgroup_enable=memory」をブートローダー設定(例:/ etc / default / grub)に追加して、有効にします。
  4. リブート

または、カーネルを再コンパイルしたい場合は、Debianのカーネルパッケージシステムを使用できます。 http://newbiedoc.sourceforge.net/system/kernel-pkg.html

于 2013-03-26T07:35:00.597 に答える
3

私は同様のメモリcgroupの問題を抱えており、かなり調査しました。私はここについてブログエントリを書きました:

http://blog.raymond.burkholder.net/index.php?/archives/639-Debian-Stretch-LXC-Memory-Controller.html

要約すると、カーネルは必要なメモリcgroupサポートを使用してコンパイルされます。fly-in-the-ointment: lxc-checkconfigにはバグがあり、メモリcgroupのステータスを正しく表示しません。 CONFIG_CGROUP_MEM_RES_CTLR=y古いカーネルにのみ適用できます(3.6より前の場合もあると思います)。

最終的に2つの調整を行います。1つはへの調整/boot/config-$version、もう1つはへの調整/etc/default/grubです。両方とも記事で説明されています。

しかし、結論として、一般的な推奨事項は次のように思われます。コンテナでメモリ制限管理を実行する必要が本当にない場合は、有効にしないでください。パフォーマンスとメモリのオーバーヘッドがあります。

于 2015-08-14T21:16:28.750 に答える
2

ここからカーネルを更新します。

次に、システムを再起動します。この問題は自動的に解決されますが、そうでない場合はに進んで/boot/config-<versionnumber>-genericください。例えば:/boot/config-3.11.0-13-generic

ここでCONFIG_CGROUP_MEM_RES_CTLR=y利用可能かどうかを確認してください。'yes'の場合​​はOK、それ以外の場合はに貼り付けます。

于 2013-11-11T16:08:16.983 に答える