分配给进程任何.net应用程序的最大内存是多少?

问题描述

我试图学习在OS上,特别是在Windows OS上,对任何(.net)进程的内存分配的各个方面。

  1. 因此,如果我们假设所有.net可执行文件都依赖于Stack和Heap进行存储。那么问题是堆栈和堆的最大大小是多少?

  2. 继续这个假设,垃圾收集只会(尝试)清理堆内存。 [堆栈不受GC控制。 -对吗?]

  • 因此每一代都有不同的内存限制设置
  • Gen 0 = 256 K
  • Gen 1 = 2 MB
  • 第二代= 10 MB

2.1让我们考虑只有一个进程正在运行。这是否意味着一个进程最多只能消耗12.25MB?

2.2这种内存分配是否会相对于其他操作系统(例如MAC,Linux)有所不同。

  1. 此外,.net进程/应用程序将在AppDomain下运行,以便为AppDomain分配多少内存?

  2. 多个AppDomain将在IIS(w3wp.exe)下运行。因此,将为w3wp.exe进程分配多少内存。

  3. 想知道IIS是否是在OS上运行的进程之一,并且还有其他进程(正在运行#个不同的系统程序和非系统程序)。那么给这些进程分配的最大内存是多少。操作系统是否将任何策略应用于对进程进行分类并相应地分配内存。

  4. 关于#5,RAM大小是否是任何OS上所有进程使用的最大内存?

为多个问题道歉,但听起来像是与一个主题相关。

*注意:每个点的答案/评论将是有意义的,而不是一般性的评论

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)