我的一个 openvz 容器有一个非常奇怪的问题。top、htop、free 和 openvz 工具报告的内存使用情况似乎在分配的 10GB 内存中约为 4GB。
当我按内存使用情况列出进程或使用 ps_mem.py 脚本时,我只能获得约 800MB 的内存使用量。同样,当我在 htop 中浏览进程列表时,我发现自己无法查明占用内存的罪犯。
我的容器中肯定有一个进程泄漏 ram,但即使它达到临界水平并且我停止了该容器中的所有内容(ssh、init 和 shell 除外),我也无法收回 ram。只有重新启动容器才有帮助,否则 OOM 最终会开始进入容器。
我假设泄漏进程在被杀死时会释放其所有内存,您可以通过 top 或类似工具观察其不当行为。
如果有人曾经经历过这样的行为,我将不胜感激任何提示。容器正在运行 icinga2(我怀疑它泄漏了 ram),尽管在大多数情况下监控进程处于空闲状态,因为它设法以超过及时的方式执行所有预定的检查 - 所以我希望 ram 使用率下降那些时候。但它没有。