c#-获取内存中DataTable或ArrayList的大小
有一些关于
How to get object size in memory ?
但他们没有说明如何获取内存中对象的大小.
当我使用时:
System.Runtime.InteropServices.Marshal.SizeOf(arrayListObject)
我得到错误:
Type ‘System.Collections.ArrayList’
cannot be marshaled as an unmanaged
structure; no meaningful size or
offset can be computed.
我也无法获得所有可用内存的数量,因为我想在具有很多线程的Web应用程序上执行此计算,因此需要确切知道特定对象需要多少内存.
解决方法:
您想找出代码中托管对象的内存大小-根据this博客条目,这是不可能的.
您需要使用内存分析器来执行此操作(例如Ants profiler).