我在运行时有一个静态对象,基本上是其他对象(整数,字符串,字典,其他对象等)的列表。有没有办法在运行时确定我的静态“其他对象列表”对象所使用的内存?这对于仪器和报告目的会很方便。.NET运行时对象的内存占用情况如何?
6
A
回答
2
你可能会问的东西,你可以从你的代码(这是我想太多知道)打电话,但我觉得我应该提到蚂蚁的情况下,别人探查[http://www.red-gate.com/Products/ants_profiler/index.htm]是不是在找具体的东西。它会告诉你关于你的代码的所有信息,包括正在使用多少内存。
从他们的网站...
档案存储,了解您 应用程序如何使用内存,并找到 内存泄漏。该内存分析器 可以让你在你的 程序的执行任何 点拍摄快照,所以你可以看到什么样的内存是在这一点上使用 。您可以在不同时间拍摄 多个快照 而您的应用程序正在运行,所以 您可以比较应用程序内存 的状态。
3
的sizeof可以在值类型中使用也有Marshal.SizeOf可与一些提示用于.NET:
不过...。那是不完全的总因为运行时确实为同步块等事物分配了额外的字节。
如果你在衡量这种类型的东西很感兴趣,但是,你应该使用分析API:
http://msdn.microsoft.com/en-us/library/ms404386.aspx
或者像的WinDbg,可以做各种美妙的事情一个免费的工具。
1
不是没有探查器。仅仅为了一个班而已经很难 - 参见here。
2
0
感谢您的回复。我认为我最初的攻击计划,因为我相信大多数对象都是可序列化的,将会是这样的:
using (MemoryStream memstream = new MemoryStream())
{
BinaryFormatter formatter = new BinaryFormatter();
try
{
formatter.Serialize(memstream, myObjectOfObjects);
mem_footprint += memstream.Length;
}
catch
{
// not a serializable object
}
}
相关问题
- 1. 比较.Net和VB6应用程序的内存占用情况
- 2. 如何查找iOS/Cocoa中集合对象的内存占用情况
- 3. NSDictionary和NSArray的内存占用情况
- 4. 对象的内存使用情况
- 5. 确定.NET中对象图的内存使用情况
- 6. 如何计算对象的内存使用情况?
- 7. 如何测量python中对象的内存使用情况?
- 8. 限制.Net CLR内存使用情况
- 9. .NET模块内存使用情况
- 10. 如何在不分配内存的情况下构造对象?
- 11. 如何在不分配内存的情况下测量.net应用程序的内存使用情况?
- 12. 计算Java中任何对象的总内存使用情况
- 13. C#.NET内存泄漏:GC阶段#1和阶段#2运行时的锯齿内存使用情况
- 14. 标准Wurfl缓存怎么样 - 查看内存占用情况
- 15. 如何在运行时确定一个C++对象的内存
- 16. 如何找出我的linux应用程序的内存占用情况?
- 17. 如何评估rails应用程序中redis键值的内存占用情况?
- 18. 一些常用Web框架的内存占用情况如何比较?
- 19. 如何在仅在运行时知道类型的情况下创建对象?
- 20. Classic ASP中解析XML文件的内存占用情况?
- 21. Haskell数据类型的内存占用情况
- 22. 检查Arduino中的内存占用情况
- 23. 复杂页面的SVG内存占用情况
- 24. 通过接口调用对象的方法时的内存使用情况?
- 25. C#:一个对象的内存使用情况
- 26. JavaScript对象的内存使用情况和复杂性顺序
- 27. Pympler获取对象的内存使用情况
- 28. ObjectiveC中指定对象的内存使用情况
- 29. 如何测量内存使用情况
- 30. 如何分析内存使用情况?
我确实在寻找一个编程实现。但我同意蚂蚁探查器可以在正确的情况下得心应手:) – Bullines 2008-10-21 20:38:55