当前位置: 首页 > news >正文

做本地婚恋网站公众号商城

做本地婚恋网站,公众号商城,公司网站的建设与运营管理制度,网页游戏排行榜2014前十名一#xff1a;背景 1. 讲故事 最近接连遇到了几起 2G 虚拟地址紧张 导致的程序崩溃#xff0c;基本上 90% 都集中在医疗行业#xff0c;真的很无语#xff0c;他们用的都是一些上古的 XP#xff0c;Windows7 x86#xff0c;我也知道技术人很难也基本无法推动硬件系统和…一背景 1. 讲故事 最近接连遇到了几起 2G 虚拟地址紧张 导致的程序崩溃基本上 90% 都集中在医疗行业真的很无语他们用的都是一些上古的 XPWindows7 x86我也知道技术人很难也基本无法推动硬件系统和设备的升级这里蕴含了巨大的人情世故。 写这一篇的目的是想系统化的整理一下如何配置 3G 开关让程序吃到更多的内存让程序崩溃的不那么频繁一些以及如何验证是否成功开启 二32位操作系统 1. 测试代码 首先大家要有一个理念就是 32bit系统上跑的程序默认只能吃到 2G 内存因为这涉及到公平用户态吃2G内核态吃2G为了方便演示向一个 List 塞入 5000w 的 string大概占用 2G 内存然后把程序跑在 Windows7 32bit 操作系统上。 static void Main(string[] args){var list new Liststring();for (int i 0; i 50000000; i){list.Add(i.ToString());if (i % 10000 0) { Console.WriteLine($i{i}); }}Console.WriteLine(ok);Console.ReadLine();} 从图中可以清楚的看到当内存到了631M 的时候就扛不住了可能有些朋友好奇为什么才这么点就不行了这是因为 List 的底层是 2倍 扩容所以内存大概会涨到 0.63G 1.2G 1.83G。 有些朋友可能会问这不是还没到2G吗一般来说内存到了 1.2G 的时候崩溃风险就会剧增这个要谨记 2. 如何解决 刚才也说了医疗行业现状如此只能通过人情世故去推动那这 2G 数据真的无处安放吗 这时候就只能启动 3G 开关那如何启动呢 开启程序级的 Large Address Aware 这个 Large Address Aware 字段俗称大地址途径就是在 PE 头里打开一个开关让Windows加载器决定是否给程序打开 3G 的绿色通道。 当然看 PE头 的工具有很多对于.NET程序个人感觉最好的就是用 DnSpy它把 File Header 中的 Characteristics 字段具化了我们选中 Large Address Aware 复选框然后保存截图如下 开启机器级别 3G 开关 在32bit操作系统上让用户态程序吃到 3G 内存这对操作系统来说是非常谨慎的毕竟这对内核态是非常不公平的言外之意就是让出自己的 1G 给用户态这骚操作可能就会把自己坑惨谨慎起见需要人工开启机器级别的 3G 开关命令如下 bcdedit /set IncreaseUserVa 3072 做了这两步之后继续让程序跑起来截图如下 从图中可以清晰的看到终于有出息了。 更多操作系统配置可参考这篇文章https://www.autodesk.com.cn/support/technical/article/caas/sfdcarticles/sfdcarticles/CHS/How-to-enable-a-3GB-switch-on-Windows-Vista-Windows-7-or-Windows-XP-s.html?v2018 3. 如何验证是否开启了 3G 这确实是一个好问题最简单的方式就是用!address 观察下地址空间。 0:000 !addressBaseAddr EndAddr1 RgnSize Type State Protect Usage ----------------------------------------------------------------------------------------------- ...bffde000 bffdf000 1000 MEM_PRIVATE MEM_COMMIT PAGE_READWRITE TEB [~0; aa4.fb8]bffdf000 bffe0000 1000 MEM_PRIVATE MEM_COMMIT PAGE_READWRITE PEB [aa4]bffe0000 bfff0000 10000 MEM_PRIVATE MEM_RESERVE PAGE_NOACCESS unknown 0:000 ? bfff0000/0x100000 Evaluate expression: 3071 00000bff 上面卦中的 bfff0000 转换过来就是 3G如果你看到的是这个值那就恭喜你啦 如果有朋友想问如何验证 dump程序是否开启了大地址这个可以用windbg提供的 !dh 命令。 0:000 lm start end module name 001e0000 001e8000 ConsoleApp4 C (pdb symbols) D:\code\MyApplication\ConsoleApp4\obj\x86\Debug\ConsoleApp4.pdb 66dd0000 678c8000 mscorlib_ni (deferred) 678d0000 67e61000 mscorwks (deferred) 6c7a0000 6c83b000 msvcr80 (deferred) ... 0:000 !dh ConsoleApp4File Type: EXECUTABLE IMAGE FILE HEADER VALUES14C machine (i386)3 number of sections EDB20AC7 time date stamp0 file pointer to symbol table0 number of symbolsE0 size of optional header122 characteristicsExecutableApp can handle 2gb addresses32 bit word machine 如果看到上面卦中的 App can handle 2gb addresses 字样就表示你开启成功啦 三64位操作系统 1. 如何吃更多内存 在 x64系统上就方便多了, 只需要做第一步开启 Large Address Aware 即可毕竟 x64系统 的虚拟地址空间不要太充足在 48根地址总线上就是2的48次方所以开启大地址后会给 x32 程序4G的寻址空间即 2 的 32 次方。 接下来直接把刚才的 ConsoleApp4.exe 程序从 Windows7 x86 搬迁到 Windows 10 x64 系统上然后用 windbg 附加运行, 跑完后使用 !address 查看。 0:007 !address BaseAddr EndAddr1 RgnSize Type State Protect Usage -----------------------------------------------------------------------------------------------0 c60000 c60000 MEM_FREE PAGE_NOACCESS Free ...ff671000 ff680000 f000 MEM_FREE PAGE_NOACCESS Free ff680000 ff6b3000 33000 MEM_MAPPED MEM_COMMIT PAGE_READONLY Other [NLS Tables]ff6b3000 ffff0000 93d000 MEM_FREE PAGE_NOACCESS Free 0:007 ? ffff0000 /0x100000 Evaluate expression: 4095 00000fff 如果在你的卦中也看到了上面的 ffff0000 那就恭喜你你程序的内存寻址空间扩展到了 4G 。 三总结 本篇说了这么多其实都是一些不得已而为之的事情很心酸这世上很多东西不是靠技术就能解决的更需要靠人情事故
http://www.w-s-a.com/news/708779/

相关文章:

  • 易语言可以做网站嘛赣州网站建设开发
  • 网站建设规范布局网站建设费往什么科目
  • 乐清手机网站设计哪个汽车网站汽贸店免费做
  • 网站建设课程总结报告推广软文
  • 企业网站哪里可以做烟台seo网站推广
  • 怎样建设网站优化珠海网站建设开发
  • 泰兴住房和城乡建设厅网站福州app开发
  • 免费制作公司网站seo前线
  • 导购网站怎么推广有网站源码怎么搭建网站
  • 网站开发问题杭州制作公司网站
  • 网站推广seo是什么wordpress 去除顶部
  • 建筑学不会画画影响大吗电子商务沙盘seo关键词
  • 重庆网站建设找承越上海建设工程招投标网
  • 网站建设四个步骤下单的网站建设教程
  • 网站建设合同的验收表响应式网站建设哪家好
  • 手机网站建设视频长沙百家号seo
  • 网站未备案怎么访问网站开发前端需要学什么
  • 正黄集团博弘建设官方网站wordpress设置固定链接和伪静态
  • wordpress 建网站视频如何实现网站生成网页
  • 杭州品牌网站建设推广个人的网站建设目标
  • 济南有哪些网站是做家具团购的贸易公司自建免费网站
  • wap网站psd成立公司在什么网站
  • 网站建设婚恋交友聊城网站建设费用
  • 沈阳网站建设联系方式尉氏县金星网架公司
  • 医院网站建设实施方案基础微网站开发信息
  • 网站建设开发服务费记账百度指数搜索
  • 网站建设备案流程windows优化大师有必要安装吗
  • 怎么网站定制自己做网站卖视频
  • 网站开发二线城市网站制作过程中碰到的问题
  • 最好网站建设公司制作平台小程序开发教程资料