本文讲述了作者在Linux环境下分析.NET程序内存暴涨问题的经历。作者使用WinDbg工具发现内存占用较大且存在非托管内存泄漏。通过排除法确定是非托管代码创建的可疑动态链接库数量过多。作者使用dotnet-trace工具捕获程序集加载事件,并使用perfview工具观察调用堆栈,发现是某个方法内部调用了Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.EvaluateAsync生成了大量程序集。最后建议剔除该方法进行排查。
完成下面两步后,将自动完成登录并继续当前操作。