限制Docker容器上的内存不起作用

限制Docker容器上的内存不起作用,第1张

限制Docker容器上的内存不起作用

free
将不会显示它,因为这是通过cgroups强制执行的。而是可以在主机(容器外部)上使用
/sysfs
和cgroup内存进行检查:

vagrant@precise64:~$ docker run -m=524288 -d  -t busybox sleep 3600f03a017b174fvagrant@precise64:~$ cat /sys/fs/cgroup/memory/lxc/f03a017b174ff1022e0f46bc1b307658c2d96ffef1dd97e7c1929a4ca61ab80f//memory.limit_in_bytes524288

要查看它的内存不足,可以运行一些将使用比分配的内存更多的内存-例如:

docker run -m=524288 -d -p 8000:8000 -t ubuntu:12.10  /usr/bin/python3 -m http.server8480df1d2d5dvagrant@precise64:~$ docker ps | grep 0f742445f839vagrant@precise64:~$ docker ps -a | grep 0f742445f8390f742445f839        ubuntu:12.10        /usr/bin/python3 -m    16 seconds ago       Exit 137          blue_pig

在其中,

dmesg
您应该看到容器和进程被杀死:

[  583.447974] Pid: 1954, comm: python3 Tainted: GF          O 3.8.0-33-generic #48~precise1-Ubuntu[  583.447980] Call Trace:[  583.447998]  [<ffffffff816df13a>] dump_header+0x83/0xbb[  583.448108]  [<ffffffff816df1c7>] oom_kill_process.part.6+0x55/0x2cf[  583.448124]  [<ffffffff81067265>] ? has_ns_capability_noaudit+0x15/0x20[  583.448137]  [<ffffffff81191cc1>] ? mem_cgroup_iter+0x1b1/0x200[  583.448150]  [<ffffffff8113893d>] oom_kill_process+0x4d/0x50[  583.448171]  [<ffffffff816e1cf5>] mem_cgroup_out_of_memory+0x1f6/0x241[  583.448187]  [<ffffffff816e1e7f>] mem_cgroup_handle_oom+0x13f/0x24a[  583.448200]  [<ffffffff8119000d>] ? mem_cgroup_margin+0xad/0xb0[  583.448212]  [<ffffffff811949d0>] ? mem_cgroup_charge_common+0xa0/0xa0[  583.448224]  [<ffffffff81193ff3>] mem_cgroup_do_charge+0x143/0x170[  583.448236]  [<ffffffff81194125>] __mem_cgroup_try_charge+0x105/0x350[  583.448249]  [<ffffffff81194987>] mem_cgroup_charge_common+0x57/0xa0[  583.448261]  [<ffffffff8119517a>] mem_cgroup_newpage_charge+0x2a/0x30[  583.448275]  [<ffffffff8115b4d3>] do_anonymous_page.isra.35+0xa3/0x2f0[  583.448288]  [<ffffffff8115f759>] handle_pte_fault+0x209/0x230[  583.448301]  [<ffffffff81160bb0>] handle_mm_fault+0x2a0/0x3e0[  583.448320]  [<ffffffff816f844f>] __do_page_fault+0x1af/0x560[  583.448341]  [<ffffffffa02b0a80>] ? vfsub_read_u+0x30/0x40 [aufs][  583.448358]  [<ffffffffa02ba3a7>] ? aufs_read+0x107/0x140 [aufs][  583.448371]  [<ffffffff8119bb50>] ? vfs_read+0xb0/0x180[  583.448384]  [<ffffffff816f880e>] do_page_fault+0xe/0x10[  583.448396]  [<ffffffff816f4bd8>] page_fault+0x28/0x30[  583.448405] Task in /lxc/0f742445f8397ee7928c56bcd5c05ac29dcc6747c6d1c3bdda80d8e688fae949 killed as a result of limit of /lxc/0f742445f8397ee7928c56bcd5c05ac29dcc6747c6d1c3bdda80d8e688fae949[  583.448412] memory: usage 416kB, limit 512kB, failcnt 342


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4987640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存