我的系统有300MB的物理内存和6个.NET进程。当资源可用时,它们中的每一个都可以从空闲的100MB跳到500MB的压力。我知道系统规格必须增加,但我想知道GC是否会尝试更频繁地收集内存并尽量保持进程内存分配尽可能小? GC频率如何取决于可用的系统内存?
我正在使用2.0运行时。
答案 0 :(得分:2)
垃圾收集确实取决于系统内存。它很懒。这意味着如果有足够的可用空间,它将不那么频繁地收集。
您可以阅读详细信息here。
对你来说最重要的一句话:
当满足下列条件之一时,就会发生垃圾收集:
- 系统物理内存不足。
如果总体内存较低,则显然会有更低的可用物理内存。