当前位置: 首页 > 工具软件 > lmctfy > 使用案例 >

Google lmctfy 3.0 - Example

葛昕
2023-12-01

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上有点小作为了?


 类似资料: