Sission导致的内存溢出.docxVIP

  • 3
  • 0
  • 约4.1千字
  • 约 4页
  • 2017-06-08 发布于重庆
  • 举报
Sission导致的内存溢出

这几天开发了一个Web站点,主要用于给其它站点做接口数据返回,在提交压力测试时,经常内存增长到1G后,溢出了,因为程序本身确实会加载不少缓存数据,而服务器本身是Windows2003 32位的操作系统,最大只支持2g内存,通过参考页面:/?kbID=810371,在boot.ini里增加启动参数:/3gb /Userva=3030 从而让程序可以使用到3G内存,然后继续提交压力测试结果测试时,内存依旧持续增长,增长到2G后,又内存溢出了,至此,怀疑程序有内存泄露找了一个win7版本的任务管理器,拷贝到服务器上,在内存达到2G时,创建了一个w3wp进程的dump(下面的创建转储文件)抓下来dump文件后,在本地用Windbg加载sos.dll进行分析,通过!dumpheap -stat命令,发现占用内存最大的3个对象是:6611b1b0 5027584 241324032 System.Web.SessionState.InProcSessionStat5027602 361987344 System.Web.Caching.CacheEntry79330b24 5575562 378271928 System.String各占用了241M、361M、378M,因为事先知道String占用这么大是正常的,所以要去分析另外2个对象,在Windbg里通过: !dump

文档评论(0)

1亿VIP精品文档

相关文档