当前位置:首页 > 内存 > 正文

docker占用内存异常

  • 内存
  • 2024-07-03 23:36:39
  • 1590

一、docker容器的内存问题排查(“内存丢失”)容器中的可用内存远未达到cgroup限制,出现OOM(OutOfMemoryKiller)。集装箱包装为4c8g。占用内存最多的进程大约是。17米。总内存还不到2g,但是_in_bytes却达到了8g(免费也一样)。缓存只有几百兆字节。时间一长,记忆就耗尽了。容器中进程oom实际可用的内存小于1g。在此记录一下故障处理过程。
由于已经没有实现OOM的阶段,所以使用以下场景进行演示:
容器包4c8g,working_set内存6.8g(working_set通常用于评估内存使用情况)容器,working_set=rss+activecache),rss600m,cache1.7g,业务进程使用2g。目前working_set比rss+cache小很多。
发现使用内存最多的php-fpm进程使用了​​17M,129个进程,总共使用了2.1g内存。使用的内存为7.4g,450M未使用,cache1.7g(我们使用lxcfs行容器视图隔离,所以内存显示了容器的真实情况),剩余的5g内存在哪里?
2内存容器cgroup
其实是7g多
没有任何一个元素占用内存特别大,也就是说,还远远没有到达顶部。另外,忘了说了,上面的单位都是字节
其实是5g
可以看出,文件的元数据缓冲区在第三列占用了4g多上图是对象数量,第四列是对象大小,所以xfs_inode占用的内存=3959772*960/1024/1024/1024,大约等于3.5g,xfs_ili0.7g,已经是4g多了。因此,基本可以断定是业务流程操作文件过多。
可以看出,session文件的数量基本与磁盘中的xfs_inode对应,所以可以断定罪魁祸首是这里
通过流程和业务跟他们沟通后,他们清理了大量的session文件后,磁盘内存明显下降。


二、如何实时查看Docker容器占用的CPU,内存状态这种情况也发生在我身上!首先,可以使用进程管理来查看CPU的占用情况。例如,您可以使用360安全卫士-功能列表-优化您的计算机-管理进程。其次,您可以使用360急救箱检查一下是否有持久性病毒,然后再尝试,希望对您有帮助。
二、如何实时查看Docker容器占用的CPU,内存状态Docker是一个开源引擎,能够为任何应用程序创建轻量级、可移植、独立的容器。要检查CPU和内存使用情况,请直接在计算机上按ctrl+alt+del键。同时按下所有三个键可打开计算机的任务管理器。您可以查看CPU和内存使用情况以及进程。由计算机使用。哪些进程占用率和内存使用率高?