Docker容器资源管理cgroups功能测试
2015-10-25 13:17
801 查看
2015-10-25 wcdj
Docker创建的容器通过Linux内核的cgroups功能(2.6.24)实现资源的分配和控制。本文使用docker 1.5版本进行测试。
测试:memory.limit_in_bytes
在容器里执行内存分配的测试程序
通过在宿主机执行docker stats命令可以查看某个容器的资源使用情况。
在容器运行后,通过修改容器的memory.limit_in_bytes配置,可以实时的控制容器的内存分配情况,当我们的测试程序的内存使用量超过配置的内存限额后会被系统kill掉。
Docker创建的容器通过Linux内核的cgroups功能(2.6.24)实现资源的分配和控制。本文使用docker 1.5版本进行测试。
root@gerryyang:/sys/fs/cgroup# ls blkio/ cpu/ cpuacct/ cpuset/ devices/ freezer/ hugetlb/ memory/ perf_event/ systemd/例如,我们运行了一个容器,可以制定容器的资源使用情况。
测试:memory.limit_in_bytes
# cd /sys/fs/cgroup/memory/docker/16780 # echo “100003840” > memory.limit_in_bytes # docker stats 1678 # docker attach 1678
在容器里执行内存分配的测试程序
#include<stdio.h> #include<malloc.h> #include <string.h> int main() { char *p = NULL; const int bs = 10 * 1024 * 1024; for (;;) { p = (char *)malloc(bs); if (p) { sleep(1); memset(p, 0x1, bs); //printf("Memory allocated at: %x/n", p); } else { printf("Not enough memory!/n"); } } return 0; }
通过在宿主机执行docker stats命令可以查看某个容器的资源使用情况。
在容器运行后,通过修改容器的memory.limit_in_bytes配置,可以实时的控制容器的内存分配情况,当我们的测试程序的内存使用量超过配置的内存限额后会被系统kill掉。
相关文章推荐
- 下一代云计算模式:Docker正掀起个性化商业革命
- 10个基于DOCKER的顶尖开发工具
- 使用Docker打包Java/Spring Boot应用
- Linux下安装docker
- centos中使用docker创建mysql容器
- 基于Mesos和Docker的分布式计算平台
- Docker的那些事(1)--什么是Docker和如何迁移
- 在CentOS6.7下安装私有Docker Registry
- DICOM:试玩Docker发布C-STORE SCP服务
- docker学习笔记1
- ubuntu14.04安装docker及升级docker
- 通过jenkins平台自动发布程序到dokcer容器
- docker1.9源码分析(四):docker daemon下载镜像时与registry交互
- docker swarm集群搭建
- docker详细的基础用法
- docker copy vs add
- Docker系列(四)Dockerfile
- Docker系列(三)常用命令
- 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器
- 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器