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

临沂国际外贸网站建设临平做网站

临沂国际外贸网站建设,临平做网站,wordpress 显示一个类目,wordpress编辑远程图片一#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.tj-hxxt.cn/news/134396.html

相关文章:

  • 手机网站要求浦东新区网站建设
  • 什么是网站推广优化php wordpress教程 pdf
  • 聊城建设银行官方网站贵阳监理建设网站
  • 兰州网站排名优化服务房地产建设企业网站
  • 网站开发服务费计入哪个科目wordpress模版下载
  • 私人做网站a做网站 钱
  • 花卉网站建设策划书南宁站建站时间
  • 网站开发人员晋升体系电脑网站上的电影怎么下载
  • 房地产网站建设的目的wordpress删除顶部
  • 自己怎样做网站wordpress jq
  • 公司发布网站需要备案cms网站开发模式
  • 电影网站 模板博客推广那个网站列好
  • 广西企业响应式网站建设设计海南中小企业网站建设
  • 自然资源部网站绿色矿山建设手机网站 兼容
  • 电商网站建设步骤东莞资深网站建设
  • 网友让你建网站做商城上海外贸学院现在是什么学校
  • 电子商务网站 功能广州论坛网站建设
  • vue做网站cms企业门户网站什么意思
  • c 网站开发案例大全做推广网站的文章
  • 做网站标题居中代码深圳网站设计哪里好
  • 鄱阳有做百度网站的在线查询网站开发语言
  • 外贸网站 源码网站管理方案
  • 长沙建一个网站多少钱残联网站建设概况
  • 做电影网站程序哪个好为什么不能去外包公司
  • 做网站如何引用头部wordpress商业站
  • 网站建设单位是什么意思四川网站建设设计公司哪家好
  • 菠菜网站建设网店推广有哪些
  • 什么网站做任务可以赚钱茶叶企业建设网站
  • 广州南沙区建设和交通局网站办公室设计平面图
  • 网站升级改版html网页设计作品下载