linux ASP.NET API在Ubuntu上消耗更多内存

x33g5p2x  于 2023-11-17  发布在  Linux
关注(0)|答案(1)|浏览(102)

我有一个ASP.NET Core API应用程序,我需要在Ubuntu上运行的生产服务器上发布。当发布应用程序并在MS Windows上运行时,它需要合理的内存量。


的数据
当我将应用程序移动到我的生产服务器时,htop显示与Windows相比,它需要大量的内存。


的数据
那么为什么会发生这种情况呢?另一个问题是:为什么有多个操作系统进程运行同一个应用程序?

2ic8powd

2ic8powd1#

问题出在我使用的.NET版本:.NET 7.0。请参阅Huge memory usage regression in dotnet 7 on linux Github issue。
对于运行相同应用程序的操作系统进程:
线程数:由内核实现为进程。也就是说,没有专门的数据结构来表示线程。相反,线程是共享某些资源的进程内核通过线程ID(TID)和线程组ID(TGID)来标识线程,共享的TGID值意味着多线程进程(在用户领域;也有内核线程,但那超出了我们的范围)。

相关问题