小编Pra*_*vin的帖子

.NET WCF w3wp本机内存泄漏和装载器堆中0个大小的18k动态程序集

我们的WCF服务显示了大量内存使用的实例,因此我们采用了完整的内存转储来识别问题.

Operating System   Windows Server 2008 R2Service Pack 1 
Number Of Processors   4 
Process Image   c:\Windows\System32\inetsrv\w3wp.exe 
System Up-Time   40 day(s) 09:23:09 
Process Up-Time   14 day(s) 11:49:01 
.NET 4.0
Processor Type   X64 
Process Bitness   64-Bit
Run Code Online (Sandbox Code Playgroud)

DebugDiag报告中问题的直升机视图.

  1. 进程是垃圾收集,所以根据警告,我不应该信任!heap命令的所有输出.

  2. Gc堆:1.37 GBytes

  3. .NET Cache大小为750Mb,

    虚拟内存详细信息:虚拟分配:17.45 Gb加载模块:208.68 Mb线程:25 Mb本机堆:3.06 Gb(我担心这个.)

从上方3.02 Gb存在于Heap 0x003f0000单独.我们有很好的流量,这样1.3 gbGc堆大小对我来说是正常的.我们还有32 gbram和64bit地址空间的机器,因此Cache大小750 mb是可以接受的.根据Native堆的大小,我觉得这是本机内存泄漏.

DebugDiag警告: 转储文件中加载了18149个动态程序集.

帮助链接:
.NET内存泄漏:XmlSerial化您的内存泄漏
分析 - 我们使用XmlSerialisers但它们被缓存,这样它们只创建一次.

.NET内存泄漏:XslCompiledTransform和泄漏的动态程序集
我们似乎在此博客文章中描述了同样的问题.所有这些18149动态组件都是0尺寸.所以我不能抛弃它们来获取细节.此外,我们不在此应用程序的任何位置使用Xsl转换.所以这些程序集不是由于Xsl转换.

更多统计数据:
相关对象数:

System.Reflection.Emit.InternalModuleBuilder -----   1.11 MBytes    (18149 objects )
System.Reflection.Emit.InternalAssemblyBuilder …
Run Code Online (Sandbox Code Playgroud)

.net c# memory memory-leaks windbg

37
推荐指数
1
解决办法
2418
查看次数

C#无法将List <CustomObject>作为属性序列化

嗨,我想序列化

FileStream fileStream = new FileStream("batches.xml", FileMode.Open);
XmlSerializer serializer = new XmlSerializer(typeof(List<Batche>));
List<Batche> listOfBatches = new List<Batche>();

[Serializable]
[XmlRoot("Batch")]
public class Batche
{   

    [XmlElement("Title")]
    public string Title
    {
        get;set;
    }

    [XmlArray("ListOfLinks"),XmlArrayItem("Link",Type = typeof(Link))]
    public List<Link> Links
    {
        get;set;
    }
}

[Serializable]
[XmlRoot("Link")]
public class Link
{
   [XmlElement("Uri")]
   public Uri Uri
   {
       get;
       set;
   }

   [XmlElement("Status")]
   public string Status
   {
       get;
       set;
   }

}
Run Code Online (Sandbox Code Playgroud)

获取以下错误:有一个错误反映了类型'System.Collections.Generic.List`1 [DownloadTRON.Entities.Batche]'.

自从过去4个小时以来一直在尝试这个,任何身体都可以指出我做错了什么!

关心普拉文

c# list xml-serialization

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×2

.net ×1

list ×1

memory ×1

memory-leaks ×1

windbg ×1

xml-serialization ×1