需求:将一台docker虚拟机的内存从6G扩展到8G。

关于资源限制,docker使用的是cgroup,这里就不细说原理了,只记录一下操作方法。

1、先找到容器ID

# docker ps

2、进入对应的cgroup目录

# cd /sys/fs/cgroup/memory/docker/d14e1a6182eeed7c8f2a7c0a315a790a16bfbab1fdc7a73813cdeee494e8050a/
# ll
total 0
-rw-r--r-- 1 root root 0 Sep 25 09:21 cgroup.clone_children
--w--w--w- 1 root root 0 Sep 25 06:40 cgroup.event_control
-rw-r--r-- 1 root root 0 Sep 25 06:40 cgroup.procs
-rw-r--r-- 1 root root 0 Sep 25 09:21 memory.failcnt
--w------- 1 root root 0 Sep 25 09:21 memory.force_empty
-rw-r--r-- 1 root root 0 Sep 25 06:40 memory.limit_in_bytes
-rw-r--r-- 1 root root 0 Sep 25 09:21 memory.max_usage_in_bytes
-rw-r--r-- 1 root root 0 Sep 25 09:21 memory.memsw.failcnt
-rw-r--r-- 1 root root 0 Sep 25 06:40 memory.memsw.limit_in_bytes
-rw-r--r-- 1 root root 0 Sep 25 09:21 memory.memsw.max_usage_in_bytes
-r--r--r-- 1 root root 0 Sep 25 09:21 memory.memsw.usage_in_bytes
-rw-r--r-- 1 root root 0 Sep 25 09:21 memory.move_charge_at_immigrate
-r--r--r-- 1 root root 0 Sep 25 09:21 memory.numa_stat
-rw-r--r-- 1 root root 0 Sep 25 06:40 memory.oom_control
---------- 1 root root 0 Sep 25 09:21 memory.pressure_level
-rw-r--r-- 1 root root 0 Sep 25 09:21 memory.soft_limit_in_bytes
-r--r--r-- 1 root root 0 Sep 25 06:44 memory.stat
-rw-r--r-- 1 root root 0 Sep 25 09:21 memory.swappiness
-r--r--r-- 1 root root 0 Sep 25 09:21 memory.usage_in_bytes
-rw-r--r-- 1 root root 0 Sep 25 09:21 memory.use_hierarchy
-rw-r--r-- 1 root root 0 Sep 25 09:21 notify_on_release
-rw-r--r-- 1 root root 0 Sep 25 09:21 tasks

3、修改相应的值即可

# echo 8589934592 > memory.limit_in_bytes
# echo 17179869184 > memory.memsw.limit_in_bytes

docker虚拟机动态扩展内存的更多相关文章

  1. redis动态扩展内存

    需求:将redis内存从1G扩展到3G,不中断服务 1.打开客户端 # redis-cli -p 6391 2.查看当前值 redis 127.0.0.1:6391> config get ma ...

  2. 【转载】docker 应用之动态扩展容器空间大小

    docker 容器默认的空间是 10G, 如果想指定默认容器的大小(在启动容器的时候指定),可以在 docker 配置文件里通过 dm.basesize 参数指定,比如 docker -d --sto ...

  3. 《深入理解Java虚拟机》Java内存区域与内存溢出异常

    注:“蓝色加粗字体”为书本原语 先来一张JVM运行时数据区域图,再接下来一一分析各区域功能:   程序计数器 程序计数器(program Counter Register)是一块较小的内存空间,它可以 ...

  4. 深入理解java虚拟机【Java内存结构】

    Java虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下: 其中方法区和堆是由所有线程共享的数据区. Java虚拟机栈,本地方法栈和程序计数器是线程隔离的数据区. (1 ...

  5. 深入理解JVM虚拟机-2自动内存管理机制

    java虚拟机所管理的内存将会包括一下几个运行时数据区域. 程序计数器: 程序计数器是一块较小的内存空间.字节码解析式工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支.循环.跳转 ...

  6. Java虚拟机中Java内存区域

      Java虚拟机所管理的内存将会包括以下几个运行时数据区域. 程序计数器 可以看作是当前线程所执行的字节码的行号指示器. 每一个线程都需要有一个独立的程序计数器. 如果线程正在执行的是一个Java方 ...

  7. java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(4)

    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来. 概述: 说起垃圾收集(Garbage Collection,下文简称GC),大部分人都把这项 ...

  8. java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3)

    概述 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来. 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又 ...

  9. Java虚拟机之Java内存区域

    Java虚拟机运行时数据区域 ⑴背景:对于c/c++来说程序员来说,需要经常去关心内存运行情况,但对于Java程序员,只需要在必要时关心内存运行情况,这是因为在Java虚拟机自动内存管理机制的帮助下, ...

随机推荐

  1. Python连接MySQL数据库(pymysql的使用)

    本文Python版本3.5.3,mysq版本5.7.23 基本使用 # 导入pymysql模块 import pymysql #连接数据库 conn = pymysql.connect( databa ...

  2. 下一个时代的发展架构竟然是它!FaaaaaaaaS到底是个啥?

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云serverless团队发表于云+社区专栏 导读:2018年7月6 - 7日,一年一度的技术圈盛会ArchSummit全球架构师 ...

  3. kubeadm 线上集群部署(一) 外部 ETCD 集群搭建

      IP Hostname   192.168.1.23 k8s-etcd-01 etcd集群节点,默认关于ETCD所有操作均在此节点上操作 192.168.1.24 k8s-etcd-02 etcd ...

  4. PCL 库存在vtk的问题导致libproj.so链接错误

    常变现为** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so', needed by ××× vtk库的bug导致,目前尚未修 ...

  5. Xavier——Understanding the difficulty of training deep feedforward neural networks

    1. 摘要 本文尝试解释为什么在深度的神经网络中随机初始化会让梯度下降表现很差,并且在此基础上来帮助设计更好的算法. 作者发现 sigmoid 函数不适合深度网络,在这种情况下,随机初始化参数会让较深 ...

  6. linux go环境安装

    方法一 这次将源码包安装的目录是是/root下. 1.官网下载源码包. 官网链接:https://golang.org/dl/   wget https://storage.googleapis.co ...

  7. [shell] 脚本之shift和getopts (转载)

    转载地址:http://www.361way.com/shell-shift-getopts/4973.html 建议不熟悉getopts的朋友,此篇要看完,getopts部分内容在原作者上面有改动. ...

  8. Python List Comprehension

    (一)使用List Comprehension的好处 在了解Python的List Comprehension之前,我们习惯使用for循环创建列表,比如下面的例子: numbers = range(1 ...

  9. ubuntu16更新源

    http://blog.csdn.net/fengyuzhiren/article/details/54844870

  10. js为一个对象Object添加一个新的属性和值

    1, var obj = {}; //或者 var obj=new Object(); var key = "name"; var value = "张三丰" ...