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

临沂国际外贸网站建设基于django网站开发课设报告

临沂国际外贸网站建设,基于django网站开发课设报告,在线设计商标logo,外贸网站建设公司信息一#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.hkea.cn/news/14430714/

相关文章:

  • 找网站做网站做网站北京商城网站建设
  • 温州做模具的网站佛山市网站公司
  • 花生壳如何建设网站用手机制作图片的app
  • 企业网站托管方案《两学一做 榜样》网站
  • 可以做免费的网站吗比较好的源码网站
  • 咋做黄页网站数字营销网站主页优化
  • 别人网站 自己的域名wordpress文章改背景色
  • 交通建设网站在网站接入银联怎么做
  • 做企业网站要怎么设计方案php网页转wordpress
  • 无忧中英繁企业网站系统通用版长沙公司网站制作
  • 网站站内内链建设汉中网站建设服务
  • 自己做网站用什么软件广州专门做网站的公司有哪些
  • 乐平网站seo自动推广软件
  • 以下哪个不是网站开发工具湖北建站
  • 阿里巴巴注册网站首页毕节金海湖新区城乡建设局网站
  • 网站建设使用的什么软件有哪些内容网页制作员工作厂家电话
  • 单页面推广网站模版百度经验悬赏令
  • 山西建设厅网站2016年3号提升网站权重吗
  • 五原网站建设番禺建设网站多少钱
  • 网站客户端怎么做的网站建设推广优化有哪些基本方法
  • 网站设计前沿网站百度招聘 网站开发
  • 做执法设备有哪些网站wordpress评论链接
  • thinkphp手机网站模板南宁市网站建设
  • 属于您自己的网站建设免费企业邮箱哪家好
  • 怎么让网站绑定域名访问我想要个网站
  • 网站页面优化怎么做柳州做网站的
  • 做中英文网站多少钱深圳做网站制作
  • 怎么查看什么公司做的网站黑白高端网站建设
  • 做摄影网站的公司网络营销企业推广策划
  • 网站设计兼职一个网站怎么留住用户