我们有一个运行在 Docker 容器中的 .net core 服务,用于处理用户上传的文件。一些传入的请求可能包含文件,文件大小高达 20 MB。该应用程序将文件保存为二进制 blob 到 Aurora DB 中,并执行其他处理步骤。
最近服务负载增加,datadog 显示 % Mem Usage 大约为 99%。 CPU 利用率只有约 2%。我们预计会出现内存泄漏,并导致容器内存耗尽。但是现在该进程似乎正在正常运行一段时间了。
此外,RSS 内存仅为 15%(4 GB 容器上的 650 MB)。我正在尝试理解这两个内存指标之间的差异,以及是否由于内存泄漏导致高内存使用率。该进程很关键,我们希望采取所有必要措施确保稳定性。我们正在分析内存优化方面的应用程序,但是目前还没有发现任何重大问题。