PHP 的 memory_get_usage 的 .NET 等价物是啥?
Posted
技术标签:
【中文标题】PHP 的 memory_get_usage 的 .NET 等价物是啥?【英文标题】:What is the .NET equivalent of PHP's memory_get_usage?PHP 的 memory_get_usage 的 .NET 等价物是什么? 【发布时间】:2010-06-17 09:01:43 【问题描述】:php 有函数memory_get_usage
报告PHP 脚本的内存量。如何在 .NET (ASP.NET C#) 中做同样的事情?
另外,您能否报告一个对象占用了多少内存(例如 SiteMap 或 DataTable)?
【问题讨论】:
【参考方案1】:对于您当前的流程,您可以使用
Process currentProcess = System.Diagnostics.Process.GetCurrentProcess();
long totalBytesOfMemoryUsed = currentProcess.WorkingSet64;
long privateMemory = currentProcess.PrivateMemorySize64;
和
long managedMemory = GC.GetTotalMemory(true);
这将报告分配的托管内存量。
获取值类型的大小可以通过
var size = sizeof(int);
对于一个任意对象,它有点棘手,因为它可以由许多未知大小的较小对象组成。
另见
所以 - Find out the size of a .net object, 所以-Getting the size of a field in bytes with C# 所以-C#: Memory usage of an object【讨论】:
以上是关于PHP 的 memory_get_usage 的 .NET 等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章
PHP通过内置函数memory_get_usage()获取内存使用情况