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

舞蹈网站模板推荐郑州网站建设公司

舞蹈网站模板,推荐郑州网站建设公司,wordpress水印功能,个人网站 域名一#xff1a;背景 1. 讲故事 前些天有位朋友找到我#xff0c;说他生产上的程序有内存暴涨情况#xff0c;让我帮忙看下怎么回事#xff0c;最简单粗暴的方法就是让朋友在内存暴涨的时候抓一个dump下来#xff0c;看一看大概就知道咋回事了。 二#xff1a;Windbg 分…一背景 1. 讲故事 前些天有位朋友找到我说他生产上的程序有内存暴涨情况让我帮忙看下怎么回事最简单粗暴的方法就是让朋友在内存暴涨的时候抓一个dump下来看一看大概就知道咋回事了。 二Windbg 分析 1. 到底是谁吃了内存 这个问题说的再多也不为过一定要看清楚这个程序是如何个性化发展的可以使用 !address -summary 命令。 0:000 !address -summary--- Usage Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal Free 255 7dfb064e1000 ( 125.981 TB) 98.42% unknown 529 204d53ac000 ( 2.019 TB) 99.97% 1.58% Heap 889 0170f0000 ( 368.938 MB) 0.02% 0.00% Image 1214 007a9a000 ( 122.602 MB) 0.01% 0.00% Stack 192 005980000 ( 89.500 MB) 0.00% 0.00% Other 10 0001d8000 ( 1.844 MB) 0.00% 0.00% TEB 64 000080000 ( 512.000 kB) 0.00% 0.00% PEB 1 000001000 ( 4.000 kB) 0.00% 0.00%--- State Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal MEM_FREE 255 7dfb064e1000 ( 125.981 TB) 98.42% MEM_RESERVE 709 20443eab000 ( 2.017 TB) 99.86% 1.58% MEM_COMMIT 2190 0b5c64000 ( 2.840 GB) 0.14% 0.00% 从卦象看进程内存也才 2.84G严格来说也不算多可能朋友抓的有点心急从上面的 unknown 指标看大概率是托管堆的暴涨继续使用 !eeheap -gc 观察下托管堆。 0:000 !eeheap -gc Number of GC Heaps: 4 ---------------------------------------- Heap 0 (000001d0adf50a20) generation 0 starts at 1d0b3fad350 generation 1 starts at 1d0b3f9be88 generation 2 starts at 1d0ae5d1000 ephemeral segment allocation context: none Small object heapsegment begin allocated committed allocated size committed size 01d0ae5d0000 01d0ae5d1000 01d0b4046258 01d0b48ac000 0x5a75258 (94851672) 0x62dc000 (103661568) Large object heap starts at 1d4ae5d1000segment begin allocated committed allocated size committed size 01d4ae5d0000 01d4ae5d1000 01d4b6d0c4e8 01d4b6d2d000 0x873b4e8 (141800680) 0x875d000 (141938688) Pinned object heap starts at 1d4ee5d1000segment begin allocated committed allocated size committed size 01d4ee5d0000 01d4ee5d1000 01d4ee5e4f08 01d4ee5f2000 0x13f08 (81672) 0x22000 (139264) ------------------------------ ... Heap 3 (000001d0ae4fd000) generation 0 starts at 1d3b26929e0 generation 1 starts at 1d3b2687ad8 generation 2 starts at 1d3ae5d1000 ephemeral segment allocation context: none Small object heapsegment begin allocated committed allocated size committed size 01d3ae5d0000 01d3ae5d1000 01d4179a5980 01d418021000 0x693d4980 (1765624192) 0x69a51000 (1772425216) Large object heap starts at 1d4de5d1000segment begin allocated committed allocated size committed size 01d4de5d0000 01d4de5d1000 01d4df8836d8 01d4df884000 0x12b26d8 (19605208) 0x12b4000 (19611648) Pinned object heap starts at 1d51e5d1000segment begin allocated committed allocated size committed size 01d51e5d0000 01d51e5d1000 01d51e5dd7e0 01d51e5e2000 0xc7e0 (51168) 0x12000 (73728) ------------------------------ GC Allocated Heap Size: Size: 0x8a6b9060 (2322305120) bytes. GC Committed Heap Size: Size: 0x8c6b1000 (2355826688) bytes. 从GC堆看果然是托管层的问题继续使用 !dumpheap -stat 观察下托管堆的现状看看哪一位是罪魁祸首。 0:000 !dumpheap -stat Statistics:MT Count TotalSize Class Name ... 7fff32e81db8 43 68,801,032 SmartMeter.Mem.TerminalInfo[] 7fff329f7470 200,000 110,400,000 SmartMeter.Model.MeterInfo_Model 7fff3227d708 2,285,392 116,193,998 System.String 01d0ae46b350 543 1,857,281,320 Free Total 3,947,969 objects, 2,314,533,332 bytesFragmented blocks larger than 0.5 MB:Address Size Followed By01d0ae935870 723,384 01d0ae9e6228 System.SByte[]01d1b41d3cd0 23,081,616 01d1b57d6f60 System.Byte[]01d3b274eb40 1,696,943,656 01d4179a3968 System.Byte[] 这卦不看不知道一看吓一跳这2.3G的内存居然被一个 1.69G 的Free给侵吞了不信的话可以用 !do 验证下。 0:000 !do 01d3b274eb40 Free Object Size: 1696943656(0x65254e28) bytes 2. 为什么会有这么大的Free 这是一个值得思考的问题也决定着我们下一步分析的方向接下来就是看下这个 free 的落脚点以及周围对象的分布情况可以使用 !gcwhere 观察。 0:000 !gcwhere 01d3b274eb40 Address Heap Segment Generation Allocated Committed Reserved 01d3b274eb40 3 01d3ae5d0000 0 1d3ae5d1000-1d4179a5980 1d3ae5d0000-1d418021000 1d418021000-1d4ae5d00000:000 !dumpheap -segment 1d3ae5d0000...01d3b274e948 7fff32468658 96 01d3b274e9a8 7fff3227d708 28 01d3b274e9c8 7fff3227d708 28 01d3b274e9e8 7fff32d0c8d8 80 01d3b274ea38 7fff3227d708 96 01d3b274ea98 7fff32d0aa38 40 01d3b274eac0 01d0ae46b350 128 Free01d3b274eb40 01d0ae46b350 1,696,943,656 Free01d4179a3968 7fff323e1638 8,216 从卦象看挺遗憾的如果 Free 落在segment的最后一个位置那么 segment 就会 uncommitted 进而内存就下去了可偏偏最后一个位置是 8216byte 的对象占据着阻止了内存的回收有经验的朋友可能知道这个对象非富即贵大概率是被 pinned 了可以用 !gcroot 观察下。 0:000 !gcroot 01d4179a3968 HandleTable:000001d0ae3927f8 (async pinned handle)- 01d3b26706f0 System.Threading.OverlappedData - 01d4179a3968 System.Byte[] Found 1 unique roots.0:000 !dumpobj /d 1d4179a3968 Name: System.Byte[] MethodTable: 00007fff323e1638 EEClass: 00007fff323e15b8 Tracked Type: false Size: 8216(0x2018) bytes Array: Rank 1, Number of elements 8192, Type Byte (Print Array) Content: ............L.o.g.\.2.0.2.3.0... Fields: None 从上面的 async pinned handle 来看是一个文件监控的回调函数到这里就可以从表象解释是这个 8216 的对象导致的内存无法回收。 3. 真的要 8216 来担责吗 如果你真的要让 8216 来担责那真的只看到了表象内存的突然暴涨回不去只是恰好遇到了 8216 的阻止但它不是本质原因真正要考虑的是为什么GC回收后会产生这么大一个单独 Free其实隐喻了当前程序出现过短时的 大对象分配对就是这个词。 接下来的问题是如何找到这个 大对象分配 呢 最好的方法就是用 perfview 的 .NET SampAlloc 去洞察如果非要用 WinDbg 的话那就只能看看 Free 生前是什么或许能寻找到答案可以借助 .writemem 命令观察。 0:000 !do 01d3b274eb40 Free Object Size: 1696943656(0x65254e28) bytes0:000 .writemem D:\testdump\1.txt 01d3b274eb40 L?0x65254e28 Writing 65254e28 bytes................ 从卦中数据看有大量的计费信息看样子又是从数据库中短时的捞取了大批量数据在托管堆上折腾导致的知道了本质原因解决办法就比较简单了通常有两种做法。 修改 GC 模式改成 Workstation。 大批量数据 改成 小步快跑 三总结 这起内存暴涨事故表象上是 8216 的阻挡导致了内存无法被uncommitted所致本质上还是归于托管堆的 内存黑洞 现象。
http://www.w-s-a.com/news/108321/

相关文章:

  • 苏州吴江建设局招标网站海南网站搭建价格
  • 网站建设主要研究内容用哪个程序做网站收录好
  • 网站建设如何开单装修设计图免费
  • 做内容网站赚钱吗seo推广具体做什么
  • 连山区网站建设seo简历
  • 自助建站系统官方版太仓高端网站制作
  • 怎样只做自己的网站建设银行唐山分行网站
  • 咸阳鑫承网站建设软件开发公司网站模板
  • 百度怎么免费做网站网站建设大作业有代码
  • 小说素材网站设计素材网站特点
  • 如何建设一个好的网站WordPress主题设置数据库
  • 网站被模仿十堰网站制作公司
  • 怎么样做免费网站个人网站备案幕布
  • 做ppt的动图下载哪些网站制作一个网站需要多少时间
  • 公司网站开发制作备案中的网站
  • 怎么看网站的收录网站开发先前台和后台
  • 合肥市做网站多少钱wordpress网站布置视频
  • 中国建设人才网信息网站软件外包公司好不好
  • 网站建设与管理 市场分析上海网站建设公司排名
  • 怎么将公司网站设成首页网址关键词查询网站
  • 怎么用ps做网站ui邱县专业做网站
  • 国开行网站毕业申请怎么做大连旅顺口旅游攻略
  • 鲜花店网站源码成都专做婚介网站的公司
  • 合肥企业网站建设工哈尔滨公告
  • 华强北 做网站互联网服务平台入口
  • vi设计案例网站微信导航网站 dedecms
  • 青浦区做网站设计图片手绘图片
  • 做网站的基本功制作网站公司推荐
  • 阿里云快速建站教程个人网站 费用
  • 广东购物网站建设微信公众号制作模板免费