我正在使用 kubernetes 作为基础架构运行一个简单的烧瓶网络应用程序。最近我在测试内存消耗时发现了一个奇怪的行为。使用以下 python 代码,我报告了我的进程使用的总 RSS。
resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
在向服务器发出一些热身请求后,报告的驻留内存约为 128Mb。
另一方面,cAdvisor 报告了 102Mib 的 rss。如果它是相反的,那么它会有一些意义,因为除了运行我的应用程序之外,容器可能会为其他东西使用一些内存,但奇怪的是 python 进程显然使用了比容器意识到的更多的内存。
从 Mib 到 Mb 的转换并不能解释,因为 102Mib ~ 107Mb。
cAdvisor 报告的内存使用情况代表什么?我应该使用哪个数字作为可靠的内存使用报告?