【发布时间】:2011-03-08 12:53:51
【问题描述】:
是否有一种可移植的方式,可以在各种支持的操作系统上同时在 .Net 和 Mono 上运行,让程序知道它运行的机器上有多少 RAM(即物理内存而非虚拟内存)可用?
上下文是一个程序,它的内存需求是“请尽可能多”;它需要知道它应该分配多少内存,同时停止进入交换(从而停止并锁定整个机器)。
【问题讨论】:
-
请不要在标题中重复“.NET/Mono”之类的标签。这就是标签的用途。
是否有一种可移植的方式,可以在各种支持的操作系统上同时在 .Net 和 Mono 上运行,让程序知道它运行的机器上有多少 RAM(即物理内存而非虚拟内存)可用?
上下文是一个程序,它的内存需求是“请尽可能多”;它需要知道它应该分配多少内存,同时停止进入交换(从而停止并锁定整个机器)。
【问题讨论】:
没有可移植的方式来做到这一点。更重要的是,由于内存使用的复杂性,系统可以以多种方式解释“尽可能多地”。例如,只需将每个正在运行的进程移动到交换位置,系统就可以为您提供几乎整个 RAM。
附:使用交换与锁定整个机器不同。可以将其视为一种可使用的较慢类型的 RAM。
【讨论】: