.net – 什么可以解释托管堆上超过5,000,000个System.WeakReference实例?

我一直在对生产ASP.NET Web应用程序运行负载测试,并且看到在堆上创建了大量的System.WeakReferences.在负载下大约15分钟内,托管堆内存大约增加到3GB,我有大约5,000,000个对System.WeakReference的引用.执行所有代的强制垃圾收集不会释放这些引用. 我已经看过

内存 – 多线程堆管理

在C/C++中,我可以在一个线程中分配内存,并在另一个线程中删除它.然而,只要有人从堆中请求内存,堆分配器就需要走堆,找到适合大小的空闲区.两个线程如何有效地访问同一个堆,而不会破坏堆? (这是通过锁定堆吗?) 一般来说,您不需要担心内存分配器的线程安全性.

java – 线程退出与未捕获的异常:无堆栈跟踪

我的应用程序正在导致一个强制关闭某处,而不是在我的LogCat中使用通常(和非常翔实的)堆栈跟踪来获取FATAL EXCEPTION,我只接收以下4行: 06-27 07:08:54.546: D/dalvikvm(14351): GC_FOR_MALLOC freed 9923 objects / 657416 bytes in 21ms06-27 07:08:54.769:

返回顶部