0

我在 Visual Studio 2010 中有一个使用 asp.net 4.0 制作的 Web 应用程序。该应用程序在安装了 2gb 内存的 windows server 2012 上运行,操作系统占用了大约 40-50% 的内存。

当涉及到内存消耗时,所有页面都很好,但是有一个页面我知道它是其中最大的页面,当我第一次访问它时,它需要大约 10 秒来加载和来自服务器的内存(如所见在任务管理器中)从 50% 快速上升到 80%。之后我收到一个关于堆栈已满的错误(登录服务器上的日志文件)。

我认为这是因为内存消耗太高,所以在我购买更多 RAM 之前,我需要知道如何在 Visual Studio 中查看和修复这个问题。会话状态中只有很少的数据,所以它不是罪魁祸首。这可能是由太多变量、DataTables 和 sql 查询引起的……我没有在数据表中存储很多数据。

如果我能看到所有的集合和变量它们使用了多少内存,那就太好了……任何帮助将不胜感激。谢谢。

编辑:确切的错误是:堆栈不足,无法继续安全地执行程序。这可能是由于调用堆栈上有太多函数或堆栈上的函数使用了太多堆栈空间。

4

1 回答 1

0

我刚买了更多的内存,问题就消失了。我不认为该页面存在特定问题。它使用了超过 600 MB 的 RAM(第一次渲染时 - 大页面),这就是为什么服务器上只有 2 GB 的 RAM 对我的应用程序来说是不够的。

于 2013-02-25T22:16:33.620 回答