c# - 确定共享主机中 asp.net 缓存使用的内存

标签 c# asp.net caching shared-hosting

根据这个question , 我想知道 asp.net 的 system.web.caching.cache 是否适合我,还是我应该使用数据库缓存?

那么,我需要知道 system.Web.caching.cache 使用了多少内存? 但是由于我使用的是共享主机服务器,所以无法使用任务管理器。 有什么方法可以使用一些代码来确定 system.web.caching.cache 使用了多少内存?

最佳答案

查看您的应用程序使用了多少工作内存的一种快速方法是直接询问垃圾回收。

long bytes = GC.GetTotalMemory(false);
txtMemoryUsed.Text = bytes.ToString();

并使用这个文字 <asp:Literal runat="server" ID="txtMemorysUsed" EnableViewState="false" />

但是您可以使用 PerformanceCounter 获取更多详细信息,例如,您可以获得此代码使用的池的虚拟内存数量:

 var oPerfCounter = new PerformanceCounter();
oPerfCounter.CategoryName = "Process";
oPerfCounter.CounterName = "Virtual Bytes";
oPerfCounter.InstanceName = "aspnet_wp";
txtMemorysUsed.Text = "Virtual Bytes: " + oPerfCounter.RawValue + " bytes";

您可以使用所有这些参数来获取池的信息。

Processor(_Total)\% Processor Time
Process(aspnet_wp)\% Processor Time
Process(aspnet_wp)\Private Bytes
Process(aspnet_wp)\Virtual Bytes
Process(aspnet_wp)\Handle Count
Microsoft® .NET CLR Exceptions\# Exceps thrown / sec
ASP.NET\Application Restarts
ASP.NET\Requests Rejected
ASP.NET\Worker Process Restarts (not applicable to IIS 6.0)
Memory\Available Mbytes
Web Service\Current Connections
Web Service\ISAPI Extension Requests/sec

例如,此参数获取 cpu 负载。

oPerfCounter.CategoryName = "Processor";
oPerfCounter.CounterName = "% Processor Time";
oPerfCounter.InstanceName = "_Total";
txtOutPut.Text = "Current CPU Usage: " + oPerfCounter.NextValue() + "%";

引用:http://msdn.microsoft.com/en-us/library/ms972959.aspx

亲戚:Monitoring ASP.NET application memory from within the application

我已经在本地 iis 上测试过并且可以正常工作。

关于c# - 确定共享主机中 asp.net 缓存使用的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10830633/

相关文章:

c# - MongoDb c# 驱动程序 - UseSsl = true。尝试读取超过流末尾的内容

c# - Controller 映射中的 ASP.NET MVC 枚举参数

regex - 为什么我的网站在实现 WP Rocket 后没有完全呈现?我在控制台中收到 "Uncaught SyntaxError: Invalid regular expression: missing/"

ios - AFNetworking - 不缓存响应

c# - 如何 "free"Microsoft.Office.Interop.Word.Application wordApp 实例?

c# - 从 c# 将 rdl 报告导出到多张 excel 文件有问题

c# - 强制网页上的用户控件初始化自身

asp.net - .NET SQL 连接池如何在多节点环境中扩展?

c# - 如何通过代码隐藏从第三方获取用户的客户端IP

php - 通过数据库缓存对于生产站点来说效率低下吗?