对此真的没有答案.在正常情况下,操作系统将保持东西基本上所有系统上的内存.基本上,一旦它将内容读入内存,它就会在内存中保留它的副本,直到其他东西需要内存,因此第一个内存被踢出.有许多函数可以为您提供有关内存的信息,但是它们都没有尝试真正返回完全未使用的内存量.我所知道的最接近的是GlobalMemoryStatusEx,它确实返回一个可用内存量的数字.
这意味着当前内存中的任何内存当前都在内存和磁盘上,因此内存中的副本可以丢弃,而不必先将其写入磁盘.例如,如果你运行一个程序,大多数代码将保留在内存中(直到其他东西需要内存),以防你决定再次运行它.因为它只是磁盘上程序的副本,所以它可以被丢弃,并且(如果需要)在需要时从磁盘重新加载.
如果你想要更多的细节,你可以使用类似的东西VirtualQueryEx来获取它 - 但它通常会让你重复信息,告诉你在给定过程中使用的每个内存块,而不是给出一个很好的,简单的数字,说"x字节免费".
GlobalMemoryStatus/GlobalMemoryStatusEx
http://msdn.microsoft.com/en-us/library/aa366586(VS.85).aspx
| 归档时间: | 
 | 
| 查看次数: | 6224 次 | 
| 最近记录: |