我正在尝试编写一个程序来对大量数据集执行外部合并排序。作为第一步,我需要将数据集拆分为适合RAM的块。我有以下问题:
假设我的机器安装了x个RAM,有没有 理论上最大限度可以提供多少 到我的过程?
当我运行以下程序时,当失败时,我得到一个非零值作为可用内存。当仍有未使用的RAM时,为什么内存分配失败?当内存分配失败时,仍然有2.8GB的可用RAM。是什么解释了观察到的行为?
List<string> list = new List<string>(); try { while (true) { list.Add("random string"); } } catch(Exception e) { Microsoft.VisualBasic.Devices.ComputerInfo CI = new ComputerInfo(); Console.WriteLine(CI.AvailablePhysicalMemory); }