程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cgroup rss的内存远远高于docker容器中所有进程的内存使用情况汇总大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决cgroup rss的内存远远高于docker容器中所有进程的内存使用情况汇总?

开发过程中遇到cgroup rss的内存远远高于docker容器中所有进程的内存使用情况汇总的问题如何解决?下面主要结合日常开发的经验,给出你关于cgroup rss的内存远远高于docker容器中所有进程的内存使用情况汇总的解决方法建议,希望对你解决cgroup rss的内存远远高于docker容器中所有进程的内存使用情况汇总有所启发或帮助;

我有一个在容器中运行的 Redis。 里面的容器 cgroup RSS 显示使用了大约 1283MB 内存。

kmem 内存使用量为 30.75MB。

docker 容器中所有进程的内存使用情况汇总为 883MB。

我如何找出“消失的内存”(1296-883-30=383MB)。“消失的内存”会随着时间的推移而增长。最后,容器将被 oom 杀死。

环境信息是

redis version:4.0.1

docker version:18.09.9

k8s version:1.13

**内存使用量为 1283MB **

root@redis-m-s-rbac-0:/opt#cat /sys/fs/cgroup/memory/memory.usage_in_bytes 
1346289664  >>>> 1283.921875 MB

kmem 内存使用量为 30.75MB

root@redis-m-s-rbac-0:/opt#cat /sys/fs/cgroup/memory/memory.kmem.usage_in_bytes 
32194560  >>> 30.703125 MB
root@redis-m-s-rbac-0:/opt#cat /sys/fs/cgroup/memory/memory.stat 
cache 3358720
RSS 1359073280 >>>  1296.11328125 MB
RSS_huge 515899392
shmem 0
mapped_file 405504
dirty 0
writeback 0
swap 0
pgpgin 11355630
pgpgout 11148885
pgfault 25710366
pgmajfault 0
inactive_anon 0
active_anon 1359245312
inactive_file 2351104
active_file 1966080
unevictable 0
hIErarchical_memory_limit 4294967296
hIErarchical_memsw_limit 4294967296
total_cache 3358720
total_RSS 1359073280
total_RSS_huge 515899392
total_shmem 0
total_mapped_file 405504
total_dirty 0
total_writeback 0
total_swap 0
total_pgpgin 11355630
total_pgpgout 11148885
total_pgfault 25710366
total_pgmajfault 0
total_inactive_anon 0
total_active_anon 1359245312
total_inactive_file 2351104
total_active_file 1966080
total_unevictable 0

**docker 容器中所有进程的内存使用汇总为 883MB **

root@redis-m-s-rbac-0:/opt#ps aux | awk '{sum+=$6} END {print sum / 1024}'
883.609

解决方法

发生这种情况是因为 python -m pip install --upgrade cffi 没有显示内存和交换使用的确切值。 usage_in_bytes 显示当前内存(RSS+Cache)使用情况。

5.5 usage_in_bytes 为了效率,和其他内核组件一样,内存cgroup使用了一些优化来避免不必要的cacheline 虚假分享。 usage_in_bytes 受该方法的影响,并且不会 显示内存(和交换)使用的“确切”值,这是一个模糊值 高效访问。 (当然,必要时,它是同步的。)如果 你想知道更准确的内存使用情况,你应该使用 memory.stat 中的 RSS+CACHE(+SWAP) 值(见 5.2)。

参考: https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt

大佬总结

以上是大佬教程为你收集整理的cgroup rss的内存远远高于docker容器中所有进程的内存使用情况汇总全部内容,希望文章能够帮你解决cgroup rss的内存远远高于docker容器中所有进程的内存使用情况汇总所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: