docker内存显示异常的bug

寒江蓑笠翁大约 2 分钟问题记录docker内存异常

docker内存显示异常的bug

源于项目开发过程中的一个发现


此前接了一个开发饥荒虚拟容器管理平台的项目,其中有一个功能就是实时显示容器的内存使用状况,后来奇怪的发现容器的内存趋势图在容器创建后的5分钟内达到了几乎100%

初次遇到这个问题,百思不得其解,以为是自己程序的编写错误,后来在容器中top了一下发现真实占用可能就40%左右。后面去翻阅了docker cli计算内存占用的源代码,Docker Cli 计算内存源代码地址open in new window,逻辑基本上是一致,那么只剩一种可能,这的确就是docker的bug。

在经过测试后,这个bug诱发的原因是饥荒容器在创建时会下载一个接近4个g的游戏服务端,在此过程中会消耗一定的资源,内存占用会逐渐攀升,但是等到下载完毕后增长的趋势依旧不停,从而造成了内存虚高。

为此编写了一个测试,这在github的issue里有更详细的介绍,issue addressopen in new window

上次编辑于:
贡献者: 246859