docker 内存监控与压测方式
一直运行的docker容器显示内存已经耗尽,并且容器内存耗尽也没出现重启情况,通过后台查看发现进程没有占用多少内存。内存的监控使用的是cadvisor,计算方式也是使用cadvisor的页面计算方式,所以决定对docker的内存计算做下研究。这就导致了所看到的容器内存的监控居高不下,因为cache是可重用的,并不能反映进程占用内存。通过kubectl get pods查看pod的运行情况发现tomcat由于内存超过限制值被kill掉。总结关于docker stats内存监控的问题一直存在,docker将cache/buffer纳入内存计算引起误解。但是这也仅仅是docker stats的显示看起来正常了,而进入容器查看内存的使用还是包含的cache,如果直接使用cadvisor搜集的数据,还是会出现包含了cache的情况。
下载地址
用户评论