您的位置:首页 > 编程语言 > Go语言

Google lmctfy 3.0 - Example

2014-01-22 22:20 127 查看
1. cgroup文件系统

作为lmctfy的基础,cgroup文件系统是必要的,否则执行init时会报错

ls /sys/fs/cgroup/

blkio cpuacct devices hugetlb perf_event

cpu cpuset freezer memory systemd

说明已经挂载了cgroup文件系统,上面显示的就是cgroup目录文件结构,具体含义参考Linux 容器的建立和简单管理

如果系统没有cgroup,可以自己安装一下。

apt-get install cgroup-lite

2. Example (create a memory-only container with
100MB
limit)


下面可以试一下github项目中的例子了。

初始化lmctfy,In order to run lmctfy we must first initialize the machine. This only needs to happen once and is typically done when the machine first boots.

sudo lmctfy init ""

sudo lmctfy create memory_only "memory:{limit:100000000}"

此处的文件目录是以/sys/subsys/为根目录创建的,所以运行时要确保有该目录的读写权限

创建container后,报错···有时间查下原因吧

Command exited with error message: 5: Failed to open file "/sys/fs/cgroup/memory/memory_only/memory.stale_page_age" for hierarchy 7

貌似还能继续,查看创建的container,居然存在!

lmctfy list containers -r /

name="/memory_only"

创建的结果可以看到,试试能不能运行点什么呢

ls /sys/fs/cgroup/memory

cgroup.clone_children memory.max_usage_in_bytes memory.swappiness

cgroup.event_control memory.move_charge_at_immigrate memory.usage_in_bytes

cgroup.procs memory_only memory.use_hierarchy

cgroup.sane_behavior memory.oom_control notify_on_release

memory.failcnt memory.pressure_level release_agent

memory.force_empty memory.soft_limit_in_bytes tasks

memory.limit_in_bytes memory.stat

sudo lmctfy run memory_only "echo hello world"

hello world

sudo lmctfy run -n /memory_only "echo hello from a daemon"

pid="3338"

sudo lmctfy run /memory_only /bin/bash

#

不考虑上面的错误,我们的例子已经能成功的运行起来了,看着已经成功的bash,是不是可以在这个100M内存的container上有点小作为了?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: