我在Visual Studio 2010中使用asp.net 4.0创建了一个Web应用程序。该应用程序在安装了2GB RAM的Windows Server 2012上运行,操作系统占用了大约40-50%的RAM。
当涉及到内存消耗时,所有的页面都很好但是有一页我知道它们中最大的那些当我第一次访问它时需要花费10秒加载来自服务器的内存(如任务管理员所见)很快从50%上升到80%。之后,我收到一个错误(记录在服务器上的日志文件中)关于堆栈已满。
我认为这是因为内存消耗太高所以在我购买更多RAM之前我需要知道如何才能在visual studio中看到并解决这个问题。会话状态只有很少的数据,所以它不是罪魁祸首。它可能是由太多的变量,DataTables和SQL查询引起的...我没有在数据表中存储大量数据。
如果我能看到所有的集合和变量他们使用了多少内存将会很棒...任何帮助将不胜感激。感谢。
编辑:确切的错误是:堆栈不足以安全地继续执行程序。这可能是因为调用堆栈上的函数太多或堆栈上的函数占用太多堆栈空间。
答案 0 :(得分:0)
我刚购买了更多内存,问题就消失了。我不认为该页面存在特定问题。它使用了超过600 MB的RAM(当它首次渲染时 - 大页面),这就是为什么服务器上只有2 GB的RAM对我的应用程序来说还不够。