一:背景
1. 讲故事
最近接连遇到了几起 2G 虚拟地址紧张 导致的程序崩溃,基本上 90% 都集中在医疗行业,真的很无语,他们用的都是一些上古的 XP,Windows7 x86,我也知道技术人很难也基本无法推动硬件系统和设备的升级,这里蕴含了巨大的人情世故。
写这一篇的目的是想系统化的整理一下如何配置 3G 开关让程序吃到更多的内存,让程序崩溃的不那么频繁一些,以及如何验证是否成功开启!
二:32位操作系统
1. 测试代码
首先大家要有一个理念:就是 32bit系统上跑的程序,默认只能吃到 2G 内存,因为这涉及到公平,用户态吃2G,内核态吃2G,为了方便演示,向一个 List 塞入 5000w 的 string,大概占用 2G 内存,然后把程序跑在 Windows7 32bit 操作系统上。
static void Main(string[] args)
{
var list = new List<string>();
for (int i = 0; i < 50000000; i++)
{
list.Add(i.ToString());
if (i % 10000 == 0) { Console.WriteLine($"i={i}"); }
}
Console
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



