码头工人第八回(码头工人资源限制和验证)

  

一、码头工人资源限制

码头工人能够运行起来要依赖于内核中的两个特性,名称空间和CGroups。默认情况下,容器是没有任何资源限制的,因此它能够耗尽主机上内核能分配给该容器的所有资源,因此,为了防止一个容器的运行中耗尽主机所有的资源,就需要用到资源限制。而资源限制的一些功能特性需要linux 内核支持,linux 功能,在码头工人1.13版本之前,只支持CFS 时间表(完全公平Scheduler 完全公平调度器),之后的版本还支持realtime 安排


CFS 安排:每个进程都有优先级,非实时进程的优先级从100 - 139年CSF 计划是用来调度这些非实时进程的调度器,优先级高的进程会先被cpu执行

realtime 安排:实时进程调度器,进程的优先级从0 - 99,realtime 时间表是专门调度实时进程的调度器


二,码头工人的内存、cpu资源限制参数


1, cpu限制

——cpu=& lt; value>:指定一个容器可以使用多少可用cpu资源,如果是四核cpu,可以设置为1.5,那么该容器最多只能使用1.5核的cpu资源,如果没有设置cpuset-cpus,那么可以使用的1.5核可以是任意一个核心的资源。此选项只能在docker1.3以上版本中使用

——cpu配额:为容器按比例分配cpu资源,如果其他容器的cpu资源是空闲,那么容器1如果需要,将会使用所有cpu的资源,且将任务分配到任意核心处理

——cpuset-cpus:为容器指定可以使用的cpu核心是哪个,如果cpu是4和,那么按照编号0 - 3区分每一个核心,此参数设置为0,1即表示可以使用cpu的第一个和第二个核心。


2,内存以及交换限制

——内存=& lt; value>:为容器指定最多可以使用多少内存,如果一个进程使用的内存超过了限制,那么可能会被扼杀掉

——memory-swap:为容器指定最多可以使用多少互换空间,此选项必须要在使用了——记忆参数的前提下才能使用,如果没有设置——记忆参数,那么这个参数不会生效

码头工人第八回(码头工人资源限制和验证)

——memory-swappiness:设置容器使用交换的倾向性有多大,0 - 100。

——memory-reservation:容器使用内存的软限制,这个指一定要设置的比,内存小,当系统内存紧张时,会回收掉此容器的内存值保留值的内存,让容器的内存使用降到预订的标准

——oom-kill-disable:当容器内进程发生伯父时,是否杀掉该容器


三、使用压测工具进行测试

[root@bogon  ~] #, docker  pull  lorel/docker-stress-ng   Using  default 标签:最新   最新:Pulling 得到lorel/docker-stress-ng   c52e3ed763ff: Pull  complete    a3ed95caeb02: Pull  complete    7 f831269c70e: Pull  complete    文摘:sha256: c8776b750869e274b340f8e8eb9a7d8fb2472edd5b25ff5b7d55728bca681322   状态:,Downloaded  newer  image  for  lorel/docker-stress-ng:最新

1,测试内存

1.1,不限制cpu使用

[root@bogon  ~] #, docker  container  run ——name  stress  -it ——rm  lorel/docker-stress-ng: latest ——cpu  8   stress-ng:信息:[1],defaulting 用a  86400, second  run  per 压力源   stress-ng:信息:[1],dispatching 猪:8,cpu      (root@bogon  ~) #, docker 统计数据   CONTAINER  ID ,,,,,,, NAME ,,,,,,,,,,,,,,, CPU  %,,,,,,,,,,,,,,, MEM  USAGE /, LIMIT ,,,, MEM  %,,,,,,,,,,,,,,, NET  I/O ,,,,,,,,,,,, BLOCK  I/O ,,,,,,,,, pid   92 b0b8d916c1 ,,,,,,, stress ,,,,,,,,,,,,, 101.54%,,,,,,,,,,,,, 15.81 mib /, 983.3 mib ,, 1.61%,,,,,,,,,,,,,,, 648 b /, 0 b ,,,,,,,,,, 0 b /, 0 b ,,,,,,,,,,,, 9      (root@bogon  ~) #,顶部   top 安康;19:15:49  up  2,天,,,2时38分,,,2,用户,,,load 平均:,7.02,3.00,1.15   任务:131年,,,,,10,跑步,,121,睡觉,,,,0,停止,,,0,僵尸   %的Cpu (s): 99.7,,我们,,,0.3,sy,,, 0.0,倪,,,0.0,id,,, 0.0,佤邦,,,0.0,嗨,,,0.0,如果,,0.0,圣   KiB  Mem :,, 1006892,,,,, 100680,免费的,,,,320704,,,,,585508,浅黄色/缓存   KiB 交换:,,2097148,,,,2096628,免费的,,,,,,,520,只使用,,422732,avail  Mem       null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

码头工人第八回(码头工人资源限制和验证)