如何控制容器占用系统资源(CPU,内存)的份额?

Docker 在独立的容器中运行进程。容器是一个在主机上运行的进程。主机可能是本地或远程的。当运营商执行时docker run,运行的容器进程是独立的,因为它拥有自己的文件系统,自己的网络以及独立于主机的独立进程树。

本页详细介绍如何使用该docker run命令在运行时定义容器的资源。

基本docker run命令采用这种形式:

在服务器当中,假设iis服务部署多个站点,那么只要其中一个站点出问题,假设是cpu100%,或者是内存爆满,那么这台服务器上的其他站点都会跟着挂掉。同样在使用容器时,单台主机上可能会跑几十个容器,容器虽然都相互隔离,但是用的却是与宿主机相同的内核,CPU、内存、磁盘等硬件资源。如果不对容器资源进行限制,容器之间就会相互影响。

Docker提供了限制内存,CPU或磁盘IO的方法, 可以对容器所占用的硬件资源大小以及多少进行限制,我们在使用docker create创建一个容器或者docker run运行一个容器的时候就可以来对此容器的硬件资源做限制。

Docker 提供的内存限制功能有以下几点:

1、容器能使用的内存和交换分区大小。

2、容器的核心内存大小。

3、容器虚拟内存的交换行为。

4、容器内存的软性限制。

5、是否杀死占用过多内存的容器。

6、容器被杀死的优先级

--memory-swap 内存+交换分区大小总限制。格式同上。必须必-m设置的大
 

用户内存限制就是对容器能使用的内存和交换分区的大小作出限制。
使用时要遵循两条直观的规则:

 
 

到此这篇关于如何使用docker对容器资源进行限制的文章就介绍到这了,更多相关docker容器资源限制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

使用docker stats命令可以查看容器的内存,但是有时候docker stats命令获得的数据可能准确,可以参考下面这种方式

再使用ps -ef 找到容器对应的进程

获得容器对应的pid后,就可以使用top、pmap、ps等查看进程内存的命令查看容器的内存占用情况了

PR:进程的优先级别,越小越优先被执行

VIRT:进程占用的虚拟内存

RES:进程占用的物理内存

SHR:进程使用的共享内存

S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数

%CPU:进程占用CPU的使用率

%MEM:进程使用的物理内存和总内存的百分比

TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。

COMMAND:进程启动命令名称

版权声明:本文为博主原创文章,转载请附上博文链接!

实时查看docker容器日志

查看 docker 容器使用的资源

在容器的使用过程中,如果能及时的掌握容器使用的系统资源,无论对开发还是运维工作都是非常有益的.幸运的是 docker 自己就提供了这样的命令:docker 获取更多精彩文章! 了解Docker容器的运行环境非常重要,我们把应用放在容器里执行,环境变量会直接影响程序的执行效果.所以我们要知道容器内部的 ...

Linux下查看根目录各文件内存占用情况

Java可视化编程,基于布局管理器的UI设计

在讲述了如何将用户与功能实现代码联系到一起.怎么样便于用户理解和符合用户的使用习惯? 本篇还是就此问题作分析,站在用户角度上分析UI各组件倒底该如何设计呈现. 优秀的UI会 ...

`define: 可以跨模块的定义,写在模块名称上面,在整个设计工程都有效.一旦'define指令被编译,其在整个编译过程中都有效.例如,通过另一个文件中的`define指令,定义的常量可以被其他文件 ...

我要回帖

更多关于 电脑cpu怎么清理内存 的文章

 

随机推荐