什么是.NET进程垃圾收集器可以分配的最大内存?当编译为x64时,Process.GetCurrentProcess.MaxWorkingSet返回约1.4GB,但当编译为AnyCPU(x64)时,返回相同的数字。对于x64,它应该更像“任务管理器”中显示的“限制”值。如何获取在所有情况下超过会导致OutOfMemory异常的正确数字?
一些方法应返回的示例: 1)机器配置:x64-Windows,4GB物理内存,4GB页面文件 -作为64位进程:8GB -作为32位进程:1.4GB
2)机器配置:x64-Windows,1GB物理内存,2GB页面文件 -作为64位进程:3GB -作为32位进程:1.4GB
3)机器配置:x32-Windows,4GB物理内存,4GB页面文件 -作为64位进程:不会发生 -作为32位进程:1.4GB
4)机器配置:x32-Windows,512MB物理内存,512MB页面文件 -作为64位进程:不会发生 -作为32位进程:1.0GB
一些方法应返回的示例: 1)机器配置:x64-Windows,4GB物理内存,4GB页面文件 -作为64位进程:8GB -作为32位进程:1.4GB
2)机器配置:x64-Windows,1GB物理内存,2GB页面文件 -作为64位进程:3GB -作为32位进程:1.4GB
3)机器配置:x32-Windows,4GB物理内存,4GB页面文件 -作为64位进程:不会发生 -作为32位进程:1.4GB
4)机器配置:x32-Windows,512MB物理内存,512MB页面文件 -作为64位进程:不会发生 -作为32位进程:1.0GB