gpt4 book ai didi

c# - 调查 .net core linux kubernetes 容器内存泄漏的正确方法是什么

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:07 24 4
gpt4 key购买 nike

我有在 linux docker 容器上运行的 .net 核心应用程序,在进行转储(核心 2.2 或 3.0)时我无法在 PerfView 中打开它们,

根据此说明进行转储: https://github.com/dotnet/diagnostics/blob/master/documentation/dotnet-dump-instructions.md

PerfView 在日志中显示此错误:

Creating heap dump C:\temp\dumps\dump\dump-1.gcdump from process dump C:\temp\dumps\dump\dump-1.dmp.
HeapDump Error: Microsoft.Diagnostics.Runtime.ClrDiagnosticsException: Could not load crash dump 'C:\temp\dumps\dump\dump-1.dmp', HRESULT: 0x80070057
at Microsoft.Diagnostics.Runtime.DbgEngDataReader..ctor(String dumpFile)
at Microsoft.Diagnostics.Runtime.DataTarget.LoadCrashDump(String fileName)
at GCHeapDumper.InitializeClrRuntime(String processDumpFile, DataTarget& target, ClrRuntime& runtime)
at GCHeapDumper.DumpHeapFromProcessDump(String processDumpFile)
at Program.MainWorker(String[] args)

最佳答案

转储文件是在容器内创建的,因此不能直接从您的机器访问。 (如果您运行的是 Windows 和 Docker for Windows,那么两者之间甚至还有一个虚拟机。)

您需要做的是将哑文件从容器复制到您的主机,然后再打开它。这可以使用 docker cp 来实现命令,例如:docker cp <container name>:<path in container>dump-1.gcdump C:\temp\dumps\dump\dump-1.gcdump

关于c# - 调查 .net core linux kubernetes 容器内存泄漏的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58487465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com