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

PHP通过内置函数memory_get_usage()获取内存使用情况

PHP函数memory_get_usage获取PHP内存清耗量

memory_get_usage函数

全面解读php面试-引用变量(&)

php内存分析