Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 100%CPU,卡在CreateDelegate和CerHashtable`2.get_项上_C#_Asp.net_Vb.net_Linq_Windbg - Fatal编程技术网

C# 100%CPU,卡在CreateDelegate和CerHashtable`2.get_项上

C# 100%CPU,卡在CreateDelegate和CerHashtable`2.get_项上,c#,asp.net,vb.net,linq,windbg,C#,Asp.net,Vb.net,Linq,Windbg,我有一个.NET3.5网站,偶尔会挂起,并达到100%的CPU。通过WinDbg运行转储显示,我大约有一半的线程位于 System.Reflection.CerHashtable`2[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].get_Item(System.__Canon) 而另一半则坐在旁边 System.Reflection.Emit.DynamicMethod.CreateDelegate(System.Type) 它

我有一个.NET3.5网站,偶尔会挂起,并达到100%的CPU。通过WinDbg运行转储显示,我大约有一半的线程位于

System.Reflection.CerHashtable`2[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].get_Item(System.__Canon)
而另一半则坐在旁边

System.Reflection.Emit.DynamicMethod.CreateDelegate(System.Type)

它们都在LINQ-SQL查询的中间。有人知道这里会发生什么吗?DB似乎保持响应,至少在问题发生时来自SSM

如果有人需要更多信息,请告诉我

编辑:

有22条线。(当我说一半时,我是在概括)这是的输出!线程

ThreadCount: 23 UnstartedThread: 0 BackgroundThread: 22 PendingThread: 0 DeadThread: 1 Hosted Runtime: no PreEmptive Lock ID OSID ThreadOBJ State GC GC Alloc Context Domain Count APT Exception 7 1 19a0 00000000022c7710 8220 Enabled 0000000000000000:0000000000000000 00000000022a2940 0 Ukn 27 2 1fa0 0000000005591f90 b220 Enabled 00000001a0425058:00000001a04266c0 00000000022a2940 0 MTA (Finalizer) 29 3 4824 0000000006550450 380b220 Enabled 000000012213cf18:000000012213dec0 00000000067500a0 1 MTA (Threadpool Worker) 30 4 40c8 00000000061378c0 380b220 Enabled 00000001c1f84c38:00000001c1f860f0 00000000067500a0 1 MTA (Threadpool Worker) 31 5 2a54 0000000006138770 180b220 Disabled 0000000101e3c858:0000000101e3db00 00000000067500a0 2 MTA (Threadpool Worker) 32 6 1984 000000000613c940 180b220 Enabled 0000000000000000:0000000000000000 00000000067500a0 0 MTA (Threadpool Worker) System.ObjectDisposedException (000000017fffe458) 33 7 18d8 000000000613eb80 380b220 Enabled 00000001820c3a30:00000001820c3c90 00000000067500a0 1 MTA (Threadpool Worker) 34 8 31f4 0000000006141d10 380b220 Enabled 0000000122147048:0000000122147ec0 00000000067500a0 1 MTA (Threadpool Worker) 35 9 5fe4 00000000061427c0 180b220 Enabled 00000001e1ffbdc8:00000001e1ffc190 00000000067500a0 2 MTA (Threadpool Worker) 36 a 3768 0000000006143270 180b220 Enabled 00000001e200add0:00000001e200c190 00000000067500a0 1 MTA (Threadpool Worker) 37 b 1820 000000000670fa10 80a220 Enabled 0000000000000000:0000000000000000 00000000022a2940 0 MTA (Threadpool Completion Port) 38 c 1220 000000000673e160 1220 Enabled 0000000000000000:0000000000000000 00000000022a2940 0 Ukn 39 d 507c 0000000008c1f9b0 180b220 Enabled 0000000101e392d0:0000000101e39b00 00000000067500a0 2 MTA (Threadpool Worker) 14 e 651c 000000000a507000 880a220 Enabled 0000000000000000:0000000000000000 00000000022a2940 0 MTA (Threadpool Completion Port) 40 f 14a0 000000000ab0a850 380b220 Enabled 00000001a15886c0:00000001a158a638 00000000067500a0 1 MTA (Threadpool Worker) XXXX 10 0 000000000bd7c7b0 9820 Enabled 0000000000000000:0000000000000000 00000000022a2940 0 MTA 42 11 48d8 000000000c00c120 380b220 Enabled 0000000000000000:0000000000000000 00000000067500a0 0 MTA (Threadpool Worker) 3 12 6180 000000000c00c6f0 220 Enabled 0000000000000000:0000000000000000 00000000022a2940 0 Ukn 43 13 3798 000000000c00d290 180b220 Enabled 00000001420f9730:00000001420f9828 00000000067500a0 2 MTA (Threadpool Worker) 45 14 1be8 000000001184f150 180b220 Enabled 00000001c1f880e0:00000001c1f880f0 00000000067500a0 2 MTA (Threadpool Worker) 48 15 13ec 000000001184f720 200b220 Enabled 0000000000000000:0000000000000000 00000000067500a0 1 MTA 49 17 3bac 00000000198f1b20 180b220 Enabled 0000000182059020:0000000182059c90 00000000067500a0 2 MTA (Threadpool Worker) 50 16 4670 00000000197b6b00 380b220 Enabled 0000000162040fd0:0000000162042658 00000000067500a0 1 MTA (Threadpool Worker) 线程数:23 未启动的线程:0 背景线索:22 PendingThread:0 死线:1 托管运行时:否 抢占式锁 ID OSID ThreadOBJ状态GC GC Alloc上下文域计数APT异常 7 1 19A0000000000 22C7710 8220启用0000000000000000:000000000000000000000 22A2940 Ukn 27 2 1fa0 000000000 5591F90 b220已启用0000000 1A0425058:0000000 1A04266C0000000000 22A2940 MTA(终结器) 29 3 4824 000000000 6550450 380b220启用0000000 12213CF18:0000000 12213DEC0000000000 67500A0 1 MTA(线程池工作线程) 30 4 40c8 000000000 61378C0 380b220启用0000000 1C1F84C38:0000000 1C1F860F0000000000 67500A0 1 MTA(线程池工作线程) 31 5 2a54 000000000 6138770 180b220禁用0000000 101E3C858:0000000 101E3DB00 000000000 67500A0 2 MTA(线程池工作线程) 32 6 1984 000000000 613C940 180b220已启用0000000000000000:0000000000000000 000000000 67500A00 MTA(线程池工作线程)System.ObjectDisposedException(0000000 17FFFE458) 33 7 18d8 000000000 613EB80 380b220启用0000000 1820C3A30:0000000 1820C3C90 000000000 67500A0 1 MTA(线程池工作线程) 34 8 31f4 000000000 6141D10 380b220启用0000000 122147048:0000000 122147EC0 000000000 67500A0 1 MTA(线程池工作线程) 35 9 5fe4 000000000 61427C0 180b220启用0000000 1E1FFBDC8:0000000 1E1FFC190 000000000 67500A0 2 MTA(线程池工作线程) 36一个3768 000000000 6143270 180b220启用的0000000 1E200ADD0:0000000 1E200C190 000000000 67500A0 1 MTA(线程池工作线程) 37 b 1820 000000000 670FA10 80a220启用的0000000000000000:000000000000000 22A2940 MTA(线程池完成端口) 38 c 1220 000000000 673E160 1220启用0000000000000000:000000000000000000000 22A2940 Ukn 39 d 507c 000000000 8C1F9B0 180b220已启用0000000 101E392D0:0000000 101E39B00 000000000 67500A0 2 MTA(线程池工作线程) 14 e 651c 000000000 A507000 880a220启用0000000000000000:000000000000000000000 22A2940 MTA(线程池完成端口) 40 f 14A0000000000 AB0A850 380b220启用0000000 1A15886C0:0000000 1A158A638 000000000 67500A0 1 MTA(线程池工作线程) XXXX 10 000000000 BD7C7B0 9820已启用0000000000000000:000000000000000000000 22A2940 MTA 42 11 48d8 000000000 C00C120 380b220启用0000000000000000:000000000000000000000 67500A00 MTA(线程池工作线程) 3 12 6180 000000000 C00C6F0 220启用0000000000000000:000000000000000000000 22A2940 Ukn 43 13 3798 000000000 C00D290 180b220启用0000000 1420F9730:0000000 1420F9828 000000000 67500A0 2 MTA(线程池工作线程) 45 14 1be8 00000000 1184F150 180b220已启用0000000 1C1F880E0:0000000 1C1F880F0 000000000 67500A0 2 MTA(线程池工作线程) 48 15 13ec 00000000 1184F720 200b220启用0000000000000000:000000000000000000000000000 67500A0 1 MTA 49 17 3bac 00000000 198F1B20 180b220启用0000000 182059020:0000000 182059C90 000000000 67500A0 2 MTA(线程池工作线程) 50 16 4670 00000000 197B6B00 380b220启用0000000 162040FD0:0000000 162042658 000000000 67500A0 1 MTA(线程池工作线程) 这是漫长的实验结果!EEStack(发布在pastebin上,因为它不适合此帖子)

我使用的是SQL2005标准

编辑:

这里是结果!syncblk,它将“CerHashtable”显示为所有者,尽管CerHashtable上的所有线程似乎都在等待锁定

Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner 148 000000000e4ec1f8 12 0 0000000000000000 none 000000017fe48560 System.Reflection.CerHashtable`2[[System.Reflection.RuntimeMethodInfo, mscorlib],[System.Reflection.RuntimeMethodInfo, mscorlib]] Waiting threads:*** WARNING: Unable to verify checksum for NewRelic.Profiler.dll *** ERROR: Symbol file could not be found. Defaulted to export symbols for NewRelic.Profiler.dll - 29 30 33 34 40 50 ----------------------------- Total 252 CCW 3 RCW 5 ComClassFactory 0 Free 81 索引SyncBlock MonitorHold递归拥有线程信息SyncBlock所有者 148000000000 E4EC1F8 12 0 0000000000000000 none 0000000 17FE48560 System.Reflection.CerHashtable`2[[System.Reflection.RuntimeMethodInfo,mscorlib],[System.Reflection.RuntimeMethodInfo,mscorlib]] 正在等待的线程:**警告:无法验证NewRelic.Profiler.dll的校验和 ***错误:找不到符号文件。默认为导出NewRelic.Profiler.dll的符号- 29 30 33 34 40 50 ----------------------------- 总数252 特定常规武器公约3 RCW 5 ComClassFactory0 免费81 Linq To Sql已被Microsoft停止使用

他们建议使用实体框架。

这不会是一个巨大的改革,因为你linq代码我们仍然有效。 您只需要重新创建数据模型

对于.NET3.5,您可以使用EFV1

尝试从

它应该包括上所述的Entity Framework(EFv1)的第一个版本。

您可以发布堆栈跟踪吗?您是否检查过是否也使用非线程安全的集合?默认情况下,Web应用程序是多线程的,因此您必须手动锁定它们或切换到并发应用程序。您使用的是SQL Express还是SQL Standard?一半的线程-多少个线程?编辑此问题。如果你还需要什么,请告诉我