2014-01-29 3 views
2

* я запустить контейнер Линукса в докер с конкретными процессорами *линукса контейнер дисплей неверной информация

набрав команду «кошки/Proc/CPUInfo в моем контейнере, контейнер показывает полную спецификацию ноутбука, а не только контейнер , Почему это может произойти?

ответ

2

LXC не предоставляет виртуализованное ядро ​​- ядро ​​распределяется между хостом и всеми контейнерами. Поэтому, когда вы смотрите на файловую систему /proc, вы (часто) видите, что видит ядро, а не пределы контейнера.

Вы можете ограничить свой контейнер для работы на определенных процессорах, но я не знаю, как обмануть ваш контейнер, думая, что в системе нет других процессоров.

Аналогичным образом, top работает в контейнере, показывая вам полную RAM, доступную на хосте, даже если вы ограничите память контейнера.

Я не знаю, как контейнер может узнать его собственные пределы, но с хоста вы можете собрать множество показателей. См. http://blog.docker.io/2013/10/gathering-lxc-docker-containers-metrics/

0

Когда мы делаем виртуализацию на уровне операционной системы, тогда ядро ​​операционной системы допускает несколько изолированных экземпляров пользовательского пространства. мы можем выделить Память и ЦП каждому контейнеру согласно вашему требованию. Это можно сделать либо при создании контейнера времени выполнения, либо после создания контейнера. Логически все инструменты виртуализации, используемые для создания файла конфигурационного файла памяти и использования ЦП.

Теперь вы можете выделить несколько долей ЦП в контейнер с опцией -c, как описано here